Всем привет у меня такая проблема не могу заставить селери работать в связке django superviso. Я работаю в venv
в главном приложении у меня находится файл celery.py
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my.settings')
app = Celery('my')
# Using a string here means the worker will not have to
# pickle the object when using Windows.
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
здесь же в init добавил такие строки
from __future__ import absolute_import
from .celery import app as celery_app
далее в одном из приложений создал как по инструкции tasks.py
from __future__ import absolute_import
from celery.decorators import task
@task
def add(x, y):
return x + y
ну и в init.d создал my-celery.conf
[program:my-celery]
command=/root/biz/env/bin/celery --app=my.celery:app worker --loglevel=INFO
directory=/root/biz/biz
user=www-data
numprocs=1
stdout_logfile=/root/biz/biz/logs/celery-worker.log
stderr_logfile=/root/biz/biz/logs/celery-worker.log
autostart=true
autorestart=true
startsecs=10
; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 600
; When resorting to send SIGKILL to the program to terminate it
; send SIGKILL to its whole process group instead,
; taking care of its children as well.
killasgroup=true
; if rabbitmq is supervised, set its priority higher
; so it starts first
priority=998
говорю supervisor об изменениях
supervisorctl update
и запускаю селери
supervisorctl start my-celery
Ну все по идее должно работать, иду в шел и тестирую
>>> from main.tasks import add
>>> result=add.delay(3, 3)
>>> result.ready()
False
>>> result.get()