Проблема с Celery, не получающим задания - Django Ubuntu

У меня возникла проблема с Celery, когда он не отвечает автоматически при загрузке системы. Вот описание моей установки и проблемы:

Настройка:

  • Проект Django, использующий Celery для асинхронных задач.
  • Рабочие Celery сконфигурированы с помощью декоратора @shared_task.
  • Использование Redis в качестве брокера с CELERY_BROKER_URL, установленным на 'redis://localhost'.
  • Рабочие Celery настроены на запуск в качестве службы systemd на Ubuntu.

Проблема:

  • При загрузке системы Celery запускается автоматически, но асинхронные задачи не выполняются.
  • Ручной запуск Celery с помощью команды home/ubuntu/.venv/bin/celery -A febiox.celery worker -l info -E works проходит нормально, и задачи выполняются, как ожидалось.
  • Проверка состояния службы Celery с помощью sudo systemctl status celery.service показывает, что служба активна и запущена.
  • Однако, при попытке проверить активные узлы Celery с помощью celery -A febiox.celery inspect active, я получаю сообщение об ошибке Error: No nodes replied within time constraint.
  • Интересно, что выполнение той же команды после ручного запуска Celery дает ожидаемый результат, показывая правильный узел.

Конфигурация службы Systemd:

[Unit]
Description=Celery Task Worker
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/febiox
ExecStart=/home/ubuntu/.venv/bin/python3 /home/ubuntu/.venv/bin/celery -A febiox.celery worker -l info -E
Restart=always
StandardOutput=file:/var/log/celery/celery.log
StandardError=file:/var/log/celery/celery_error.log

[Install]
WantedBy=multi-user.target

Дополнительная информация:

  • Redis получает данные при попытке выполнения задач.
  • sudo systemctl reload celery.service не выдает никаких ошибок, но и не решает проблему.
  • sudo systemctl start celery.service запускает службу без ошибок.
  • sudo systemctl status celery.service показывает два экземпляра рабочего процесса Celery, что кажется необычным.
Вернуться на верх