Sellerie 3.1.11
settings.py
# Celery transport
BROKER_URL = 'django://'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'every-minute': {
'task': 'tasks.sync_oracle_history',
'schedule': crontab(minute='*/1'),
},
}
Fügen Sie im Ordner „project.apps.proj“ eine Datei „tasks.py“ hinzu
from __future__ import absolute_import
from celery import task
@task(name='tasks.sync_oracle_history')
def sync_oracle_history():
print "="*30
print "TODO: sync_oracle_history pending"
keine ahnung, tipps für mich sind willkommen.
in der Bash-Shell, wenn der Befehl ausgeführt wird: Sellerieschlag -A proj -l info, nur an die Warteschlange senden, die Aufgabe nicht ausführen,
Ändern Sie jedoch den Befehl Selleriearbeiter -A proj -l info, wird die Aufgabe ausgelöst.
Beat führt keine Aufgaben aus, es sendet nur die Nachrichten. Sie benötigen sowohl eine Beat-Instanz als auch eine Worker-Instanz!
danke @fragen
Hallo, wie kann ich diese Befehle nicht jedes Mal verwenden, wenn ich die Aufgaben ausführen möchte? @xiaods @fragen
Hilfreichster Kommentar
Beat führt keine Aufgaben aus, es sendet nur die Nachrichten. Sie benötigen sowohl eine Beat-Instanz als auch eine Worker-Instanz!