2016-08-08 10 views
0

Ich verwende Django, um einen Web-Server einzurichten, der die Preise einer Aktie überwacht. Ich möchte daher eine Aufgabe (Aktualisierung des Preises) alle 5 Sekunden auftreten, mit einem Konsolenprotokoll über das Update. Warum schreibt Sellery nicht wie gefragt auf die Konsole?Sellerie führt keine geplante, sich wiederholende Aufgabe aus

Meine Dateistruktur:

├── Project 
│ ├── celery.py 
│ ├── __init__.py 
│ ├── settings.py 
│ ├── urls.py 
│ └── wsgi.py 
├── manage.py 
├── Application 
│ ├── admin.py 
│ ├── __init__.py 
│ ├── migrations 
│ ├── models.py 
│ ├── serializers.py 
│ |── tasks.py 
│ |── tests.py 
│ |── views.py 

Mein Sellerie-Setup in settings.py:

# Celery 
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' 
CELERY_TASK_RESULT_EXPIRES = 3600 

# Celery repeating tasks 
CELERYBEAT_SCHEDULE = { 
    'notify-every-10-seconds': { 
     'task': 'Main.tasks.update', 
     'schedule': timedelta(seconds=10), 
    }, 
} 

Und die Aufgabe selbst:

from __future__ import absolute_import 

from celery import shared_task 
from .models import NasdaqShare 


@shared_task 
def update(): 
    print('Updated!') 

Wenn das Netzwerk Sellerie Arbeiter ausgeführt wird, unter Verwendung von Die Django-Datenbank scheint sogar Application.tasks.update als auszuführende Aufgabe aufzulisten.

Warum sehe ich nichts gedruckt auf der Konsole?

Wenn Sie weitere Informationen wünschen, lassen Sie es mich wissen.

+0

Sellery schreibt an die Konsole, wo Sie es ausführen und nicht an die Konsole/stdout, von wo Sie die Nachricht senden. Wie betreiben Sie Sellerie in der Produktion? Als eigener dämonisierter Prozess mit selleryd, mit Supervisor, ... Sie finden die Ausgabe in den zugehörigen Logfiles. Wenn Sie weitere Informationen zu Ihrer Einrichtung bereitstellen könnten. Sie müssen möglicherweise auch den entsprechenden Loglevel festlegen und Sellerie-l-Informationen ausführen. –

+0

führen Sie eine Sellerie im Beat-Modus? Wenn nicht, werden diese geplanten Aufgaben niemals aufgenommen. –

+0

Falk, ich betreibe Sellerie von einem Terminal in meiner IDE, wo es ein Banner und eine Sammlung von Informationen anzeigt. Würde die Nachricht im selben Terminal erscheinen? – jacksterooney

Antwort