Периодическая задача Django Celery не выполняется в заданном кронтабе

Я использую следующие пакеты.

celery==5.1.2
Django==3.1

У меня есть 2 периодические задачи celery, в которых я хочу, чтобы первая задача выполнялась каждые 15 минут, а вторая - каждые 20 минут. Но проблема в том, что первая задача выполняется вовремя, а вторая - в случайное время.

Хотя я получаю сообщение на консоли о времени выполнения обеих задач:

Scheduler: Sending due task <task_name> (<task_name>)

Пожалуйста, найдите следующие файлы,

celery.py

from celery import Celery, Task
app = Celery('settings')
...

class PeriodicTask(Task):
    @classmethod
    def on_bound(cls, app):
        app.conf.beat_schedule[cls.name] = {
            "schedule": cls.run_every,
            "task": cls.name,
            "args": cls.args if hasattr(cls, "args") else (),
            "kwargs": cls.kwargs if hasattr(cls, "kwargs") else {},
            "options": cls.options if hasattr(cls, "options") else {}
        }

tasks.py

from celery.schedules import crontab
from settings.celery import app, PeriodicTask
...

@app.task(
    base=PeriodicTask,
    run_every=crontab(minute='*/15'),
    name='task1',
    options={'queue': 'queue_name'}
)
def task1():
    logger.info("task1 called")

@app.task(
    base=PeriodicTask,
    run_every=crontab(minute='*/20'),
    name='task2'
)
def task2():
    logger.info("task2 called")

Пожалуйста, помогите мне найти ошибку. Спасибо!

Вернуться на верх