Многие популярные очереди задач (такие как Google GAE TaskQueue, Celery) имеют функцию ETA/Countdown, которая позволяет задавать задачу в очередь после xxx секунд.Реализовать TaskQueue (например, Celery) с ETA/Countdown
Я работаю над проектом, которому нужна очередь задач с функцией ETA. Однако есть некоторые ограничения, которые я должен использовать в системе обмена сообщениями Google Pubsub. У Pubsub нет функции ETA. Мне интересно, как реализовать надежный и масштабируемый механизм ETA для очереди задач. Приветствуются как идеи общей архитектуры, так и фактические примеры кода.
Наша система вмещает 600-2000 задач в секунду, и около 10% из них должны иметь ETA. Это распределенная система и критическая производительность.
Я попытался проследить источник code сельдерея, но не смог найти фактическую логику обращения с ETA. Было бы хорошо, если бы кто-то мог указать мне на файл/код Celery, который обрабатывает ETA.