<p>Sellerieschlag funktioniert nicht, aber Selleriearbeiter --Beat funktioniert, wenn Datenbank verwendet wird</p>

Erstellt am 25. Mai 2014  ·  3Kommentare  ·  Quelle: celery/celery

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.

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!

Alle 3 Kommentare

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen