Ich benutze Sellerie 3.1.16 Broker (mit RabbitMQ) und mehrere Sellerie Arbeiter mit Sellerie Daemonized durch Supervisor. Problem ist mit Aufgaben aktualisieren. Wenn ich meine tasks.py-Datei aktualisiere, führt Sellerie Worker alten Code aus.Sellerie Autoreload funktioniert nicht
Sellerie Start-Befehl:
/home/my_project/bin/celery -B --autoreload --app=my_app.celery:app worker --loglevel=INFO
I umfassen Aufgaben Datei in django settings.py:
CELERY_IMPORTS = [
'my_app.tasks'
]
pyinotify installiert ist und funktioniert (ich glaube so), ein Teil der Sellerie-Protokolle:
[2014-12-16 20:56:00,016: INFO/MainProcess] Task my_app.tasks.periodic_update_task_statistic[175c2557-7c07-43c3-ac70-f4e115344134] succeeded in 0.00816309102811s: 'ok!'
[2014-12-16 20:56:11,157: INFO/MainProcess] Detected modified modules: ['my_app.tasks']
[2014-12-16 20:57:00,001: INFO/Beat] Scheduler: Sending due task my_app.tasks.periodic_update_task_statistic (my_app.tasks.periodic_update_task_statistic)
[2014-12-16 20:57:00,007: INFO/MainProcess] Received task: my_app.tasks.periodic_update_task_statistic[f22998a9-dcb4-4c29-8086-86dd6e57eae1]
Also, meine Frage: Wie man Sellerie updaten und neuen Aufgabencode anwenden, wenn sie geändert wurden?
ich keine Antwort habe. Ich starte meine Mitarbeiter immer noch neu, wenn ich Code-Push mache. http://stackoverflow.com/questions/16929264/how-can-i-automatisch-reload-tasks-modules-with-sellery-daemon – pztrick
Das gleiche hier. Ich starte Sellerie am Ende des Deployment-Verfahrens neu. Die Bereitstellung erfolgt mithilfe von Fabric für diese Zwecke. –
Hallo LJ, irgendwelche Updates zu dieser Frage? Konntest du es herausfinden? – Desprit