Джанго сельдерей, сельдерея: заполняет очередь без контроля, планируя проблемы - PullRequest
0 голосов
/ 29 декабря 2018

У меня небольшой проект с несколькими заданиями, которые запускаются несколько раз в день.Проект основан на Django 2.1, с сельдереем 4.2.1 и django-celery-beat 1.3.0.А также установлен rabbitmq.

Каждая задача находится внутри приложения проекта.Бежит, работает, дает какой-то результат.Проблема в том, что на виртуальном сервере, арендуемом у какого-либо провайдера, если я задаю какое-либо задание для периодического запуска (каждый час или два), - он начинает работать безотказно, без конца и, как я полагаю, в некоторых параллельных потоках, желаю мешдруг с другом.Команда rabbintmqctl list_queues name messages_unacknowldged всегда показывает 8 в очереди celery.Очистка очереди celery не дает никаких изменений.Перезапуск сервиса - тоже.

Но настройка расписания задач на точное время работает хорошо.Ну, почти хорошо.Две задачи имеют расписание запуска в начале разных часов (четное и нечетное).Но оба запускаются примерно через 30 минут после начала часа, того же (нечетного) часа.По крайней мере, задачи не выполняются в день больше, чем указано в расписании.Но это все еще что-то не так.

Как новичок с rabbitmq и сельдереем, не знает, где искать решение.Официальные документы по сельдерею мне не помогли.Может быть, не смотрел в нужном месте.Любая помощь или совет будут хорошими.Благодарю.

1 Ответ

0 голосов
/ 29 декабря 2018

Похоже, это ошибка django-celery-beat - https://github.com/celery/celery/issues/4041. Если кто-нибудь уже нашел какое-либо решение для этого - сообщите.

...