Sich wiederholende Aufgaben mit Django-Sellerie - Django / Sellerie
Ich habe Probleme bei der Wiederholung von Aufgaben, hier ist das, was eine test-Aufgabe aussieht
from celery.decorators import task
@task()
def add(x, y):
if not x or not y:
raise Exception("test error")
return x+y
Ich finde keine Dokumentation, was-so-ever, wie zu wiederholen, dekoriert Aufgaben, alles, was ich fand, war dieser:
self.retry(x,y, exc=exception, countdown=30)
die scheint nicht zu funktionieren mit meinem Fall, da es nicht self
variable übergeben wird der Methode.
Edit:
Ich versuche das nun folgende ohne Erfolg:
from celery.decorators import task
@task()
def add(x, y):
if not x or not y:
try:
raise Exception("test error")
except Exception, e:
add.retry([x, y], exc=e, countdown=30)
return x+y
Bekomme ich die folgende Fehlermeldung:
TypeError("kwargs argument, um Wiederholungen können nicht leer sein. Aufgabe akzeptieren muss, **kwargs, siehe http://bit.ly/cAx3Bg",)
Irgendwelche Ideen?
InformationsquelleAutor der Frage RadiantHex | 2011-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aufgabe muss akzeptieren, dass keyword-Argumente, die Sie verwendet, um Informationen unter anderem über die Anzahl der Wiederholungen. Ich denke, der code sollte wie folgt Aussehen:
**kwargs
Hinzugefügt werden müssen, um die Unterschrift desadd
- Funktion, und übergeben alskwargs=kwargs
beim Aufruf wiederholen.Hinweis: dieser Stil veraltet mit der Veröffentlichung von Sellerie 2.2.
InformationsquelleAutor der Antwort Reiner Gerecke
Können Sie Ihre retry-Parameter in den decorator:
InformationsquelleAutor der Antwort dalore