Как лучше всего запускать сельдерей в качестве демона в производственном virtualenv?Я использую следующее в локальной среде, которая работает идеально, и получение задач работает, как ожидалось.Но в производстве всегда застрял на
WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL) error
Я использую следующую конфигурацию в локальной и в производственной среде:
/ etc / default / celeryd:
CELERY_BIN="path/to/celery/bin"
CELERY_APP="myproj"
CELERYD_CHDIR="home/myuser/project/myproj"
CELERYD_OPTS="--time-limit=300 --concurrency=4"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_USER="myuser"
CELERYD_GROUP="myuser"
CELERY_CREATE_DIRS=1
/ etc / init.d / celeryd: [ celeryd ]
Информация о версии пакета и ОС:
- Ubuntu == 16.04.2
- Сельдерей == 4.1.0
- rabbitmq == 3.5.7
- django == 2.0.1
Я также использую эти команды при создании сельдерея для запуска в качестве демона:
- sudo chown -R root: root / var / log / celery /
- sudo chown-R root: root / var / run / celery /
- sudo update-rc.d celeryd по умолчанию
- sudo update-rc.d celeryd enable
- sudo / etc /init.d / celeryd start
Вот моя конфигурация django settings.py для сельдерея:
CELERY_BROKER_URL = 'amqp://localhost'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_RESULT_BACKEND = 'db+sqlite:///results.sqlite'
CELERY_TASK_SERIALIZER = 'json'
Нужен совет эксперта, чтобы сделать демона сельдерея дляправильно работать в производстве virtualenv.Заранее спасибо!