Описание проекта
Не менее важна наблюдаемость. Нужен дашборд мониторинга, показывающий реальную картину: пропускную способность по каждой очереди в реальном времени, счётчики успехов и ошибок, текущую глубину очереди и сколько заданий ждёт против выполняющихся, а также среднее и худшее время обработки. Когда задание падает, я хочу видеть ошибку, полезную нагрузку и историю повторов и уметь вручную вернуть его в очередь одним кликом. Дашборд также должен позволять приостановить очередь, аккуратно завершить воркеров и осмотреть запланированные задания до их запуска. Уточню границы: это не UI для крона, который лишь запускает повторяющиеся задачи, и не ретранслятор вебхуков. Фокус — асинхронная обработка на воркерах плюс сильная наблюдаемость вокруг неё.
Предложите бэкенд хранения и обоснуйте выбор. Мне важны гарантии доставки не менее одного раза, безопасная работа с параллельными воркерами, чтобы одно задание никогда не обрабатывалось дважды, и корректное graceful-завершение при деплое. Нужен протестированный код с понятной документацией по настройке, чтобы команда могла его запустить и развивать.
— Именованные очереди с пулами воркеров и настраиваемой параллельностью
— Повторы с экспоненциальным backoff и dead-letter очередь
— Отложенные и запланированные задания, доступные в заданное время
— Живой дашборд: пропускная способность, ошибки, глубина очередей, задержки
— Ручной возврат в очередь, пауза и мягкое завершение воркеров