У меня есть небольшой проект с парой задач, которые нужно запускать несколько раз в день. Проект основан на Django 2.1, имеет celery 4.2.1 и django-celery-beat 1.3.0. А также установить rabbitmq.
Каждая задача находится внутри приложения своего проекта. Бегает, работает, дает какой-то результат. Проблема в том, что на виртуальном сервере, арендованном у какого-то провайдера, если я устанавливаю какую-либо задачу для периодического запуска (каждый час или два), она начинает работать немедленно, без конца и, как я полагаю, в каких-то параллельных потоках, желаю сетку друг с другом. Команда rabbintmqctl list_queues name messages_unacknowldged
всегда показывает 8 в очереди celery
. Очистка очереди celery
не дает никаких изменений. Перезапуск службы - тоже.
Но установка расписания задач на точное время работает хорошо. Ну почти хорошо. Две задачи имеют расписание для запуска в начале разных часов (четное и нечетное). Но оба работают примерно через 30 минут после начала одного и того же (нечетного) часа. По крайней мере, задачи не выполняются больше раз в день, чем указано в расписании. Но все равно что-то не так.
Как новичок с rabbitmq и сельдереем, не знаю, где искать решение. Официальные документы по сельдерею мне не помогли. Возможно, искал не в том месте. Любая помощь или совет были бы хороши. Спасибо.