Sellerie: WorkerLostError: Arbeiter vorzeitig verlassen: Signal 9 (SIGKILL)

Ich verwende Sellerie mit RabbitMQ in meinem Django-app (Elastic Beanstalk) zum verwalten von hintergrund-tasks und ich daemonisierte es mit Vorgesetzten.
Das problem jetzt ist, dass der Zeitraum Aufgabe, die ich definiert, ist nicht (nach einer Woche, in der es funktioniert), der Fehler, die ich habe ist:

[01/Apr/2014 23:04:03] [ERROR] [celery.worker.job:272] Task clean-dead-sessions[1bfb5a0a-7914-4623-8b5b-35fc68443d2e] raised unexpected: WorkerLostError('Worker exited prematurely: signal 9 (SIGKILL).',)
Traceback (most recent call last):
  File "/opt/python/run/venv/lib/python2.7/site-packages/billiard/pool.py", line 1168, in mark_as_worker_lost
    human_status(exitcode)),
WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL).

alle Prozesse verwaltet von Oberaufsicht und läuft einwandfrei (supervisorctl status sagt RUNNNING).

Habe ich versucht zu Lesen, mehrere Protokolle auf meiner ec2-Instanz, aber niemand scheint mir helfen, herauszufinden, was die Ursache des SIGKILL. Was soll ich tun? Wie kann ich untersuchen?

Diese sind meine Sellerie-Einstellungen:

CELERY_TIMEZONE = 'UTC'
CELERY_TASK_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['json']
BROKER_URL = os.environ['RABBITMQ_URL']
CELERY_IGNORE_RESULT = True
CELERY_DISABLE_RATE_LIMITS = False
CELERYD_HIJACK_ROOT_LOGGER = False

Einen das ist mein supervisord.conf:

[program:celery_worker]
environment=$env_variables
directory=/opt/python/current/app
command=/opt/python/run/venv/bin/celery worker -A com.cygora -l info --pidfile=/opt/python/run/celery_worker.pid
startsecs=10
stopwaitsecs=60
stopasgroup=true
killasgroup=true
autostart=true
autorestart=true
stdout_logfile=/opt/python/log/celery_worker.stdout.log
stdout_logfile_maxbytes=5MB
stdout_logfile_backups=10
stderr_logfile=/opt/python/log/celery_worker.stderr.log
stderr_logfile_maxbytes=5MB
stderr_logfile_backups=10
numprocs=1

[program:celery_beat]
environment=$env_variables
directory=/opt/python/current/app
command=/opt/python/run/venv/bin/celery beat -A com.cygora -l info --pidfile=/opt/python/run/celery_beat.pid --schedule=/opt/python/run/celery_beat_schedule
startsecs=10
stopwaitsecs=300
stopasgroup=true
killasgroup=true
autostart=false
autorestart=true
stdout_logfile=/opt/python/log/celery_beat.stdout.log
stdout_logfile_maxbytes=5MB
stdout_logfile_backups=10
stderr_logfile=/opt/python/log/celery_beat.stderr.log
stderr_logfile_maxbytes=5MB
stderr_logfile_backups=10
numprocs=1

edit: nach einem Neustart Sellerie schlagen, das problem bleibt 🙁

edit 2: geändert killasgroup=true killasgroup=false und das problem bleibt

InformationsquelleAutor der Frage daveoncode | 2014-04-02

Schreibe einen Kommentar