Celery не запускается, несмотря на правильную настройку с использованием Django, Celery 5+ и Python 3.12+

Несмотря на то, что исходная конфигурация кажется правильной, задачи Celery не выполняются. Система ведения журнала не показывает никаких ошибок. Это новая настройка Celery версии 5+, работающая на Python 3.12+. Добавлена полная конфигурация на стороне сервера. Все необходимые пакеты и зависимости установлены, а само приложение не выдает никаких ошибок.

В чем может быть причина того, что тестовое задание Celery не выполняется каждую минуту по расписанию в соответствии с интервалом, указанным в settings.py?

tasks.py

from celery import shared_task
from datetime import datetime
from .models import CeleLog

@shared_task
def get_all_weather_data():
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    CeleLog.objects.create(content=f"Current time: {now}")
    print(f"Logged time: {now}")

settings.py

CELERY_BROKER_URL = 'amqp://localhost'
from celery.schedules import crontab
CELERY_BEAT_SCHEDULE = {
    'log-every-minute': {
        'task': 'company_dashboard.tasks.get_all_weather_data',  # <- ścieżka do funkcji
        'schedule': crontab(minute='*/1'),
    },
}

celery.py - проект

import os
from celery import Celery
from django.conf import settings


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app_rama.settings')

app = Celery('app_rama')

app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

инициализировать.py - проект

from .celery import app as celery_app

приложение-celery-worker.conf

[program:app-celery-worker]
command=/home/app/bin/celery -A app_rama worker -l INFO
directory=/home/app/app
user=app
numprocs=1
stdout_logfile=/home/app/logs/app-rama-worker.log
stderr_logfile=/home/app/logs/app-rama-worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
killasgroup=true
priority=998

приложение-celery-beat.conf

[program:app-celery-beat]
command=/home/app/bin/celery -A app_rama beat -l INFO
directory=/home/app/app
user=app
numprocs=1
stdout_logfile=/home/app/logs/app-rama-worker.log
stderr_logfile=/home/app/logs/app-rama-worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
killasgroup=true
priority=998

И я бегу: sudo supervisorctl перечитайте sudo supervisorctl обновите sudo service nginx перезапустите sudo supervisorctl перезапустите приложение sudo supervisorctl запустите приложение-celery-worker sudo supervisorctl запустите приложение-celery-beat

Я пытаюсь решить эту проблему уже несколько часов. В журналах не отображается никаких ошибок, и конфигурация, похоже, была правильной. Я подозреваю, что проблема может быть связана с тем, как запускается Celery. Я не вижу никаких тестовых заданий или моделей, выполняющихся в журналах каждую минуту, так что, возможно, я неправильно запускаю новую версию Celery версии 5 в settings.py? Я был бы очень признателен за любую помощь.

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