2016-08-30 4 views
0

Nach einem Update scheint es, Sellerie hat aufgehört zu arbeiten, wie es sollte. Ich habe regelmäßige Aufgaben pro Tag und von 6-22. Alle Aufgaben von 6-22 laufen alle 5 Minuten ohne Grund.Django Sellerie Periodische Aufgabe ignorieren Contrab

Ich änderte die Aufgabe von jeder Stunde zu laufen von 6-22 laufen. Die stündliche Funktion funktionierte auch nicht. Ich habe versucht: Minute = 0 Stunde = 6-22, Minute = 0, Stunde = '*/3,8-17' und komplett wie folgt geschrieben. Der letzte, den ich aus der Dokumentation kopiert habe, weil ich dachte, dass das vielleicht funktionieren würde.

@periodic_task(
    run_every=(crontab(minute=0, hour='6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22')), 
    queue='feed', 
    name="feed_update", 
    ignore_result=True 
) 
def feed_update(): 
    """ 
    checks for feed updates 
    """ 
    feed_update_for_all_users() 
    logger.info("Feed Update complete") 

settings.py

#CELERY STUFF 
CELERY_IMPORTS = ('reviews.tasks',) 
CELERY_TIMEZONE = 'Europe/Berlin' 
BROKER_URL = 'redis://127.0.0.1:6379' 
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 7776000} 
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379' 
CELERY_ACCEPT_CONTENT = ['application/json'] 
CELERY_TASK_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
CELERY_ENABLE_UTC = False 

Nach den Docs diese sind alle gültig contrab Vars. Warum funktioniert es nicht richtig?

+0

Funktioniert es, wenn Sie nur eine Stunde wie 'hour = 6'' verwenden? –

+0

Bist du sicher, dass dein Sellerie-Beat läuft? Die Aufgabenkonfiguration ist in Ordnung und sollte funktionieren. – SpiXel

+0

Wenn Sie die Task-Code oder Crontab-Parameter aktualisieren, sollten Sie Sellerie Beat neu starten. Hast Du es versucht? –

Antwort

0

Nach dem Lesen von jedem Fehlerbericht in Sellerie.

Sellerie akzeptiert keinen anderen Zeitstempel !!!

Mit CELERY_ENABLE_UTC = False, ruiniert ziemlich das Programm.

Sobald Sie es aktivieren, wird das Problem gelöst. Allerdings, wenn Sie irgendwelche Funktionen haben, müssen Sie die Zeit vor dem Senden an Sellerie anpassen und natürlich, wenn Sie genaue Zeitrahmen haben, passen Sie diese auch.

Verwandte Themen