Как спроектировать job queue с приоритетами на Go?

Middle
163 просмотров
AFK Offer AI

PostgreSQL: таблица jobs с priority, status, scheduled_at. Worker: SELECT ... WHERE status=pending ORDER BY priority DESC, scheduled_at FOR UPDATE SKIP LOCKED LIMIT 1. Для высокой нагрузки: Redis sorted set (score = priority*1e9 + timestamp). Retry: exponential backoff, max attempts, DLQ. Go: worker pool с configurable concurrency, graceful shutdown через context.

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

Как определить bloat в PostgreSQL?