Как реализовать job queue через PostgreSQL?

Middle+
168 просмотров
AFK Offer AI

Паттерн: таблица jobs с status, created_at, locked_until. Воркер берёт задачу: UPDATE jobs SET status='processing', locked_until=now()+interval '5 min' WHERE status='pending' ORDER BY created_at LIMIT 1 FOR UPDATE SKIP LOCKED RETURNING *. SKIP LOCKED — ключевой момент, воркеры не блокируют друг друга. Для серьёзных нагрузок — pgq или river.

Следующий вопрос

Что такое interface constraint с методами?