Sellerieschlag mit nicht funktionierenden Methodenaufgaben
Ich versuche, Sellerie für eine Methodenaufgabe auszuführen, und kann nichts richtig ausführen. Hier ist ein Beispielsetup:
from celery.contrib.methods import task_method
from celery import Celery, current_app
celery=celery('tasks', broker='amqp://guest@localhost//')
celery.config_from_object("celeryconfig")
class X(object):
@celery.task(filter=task_method, name="X.ppp")
def ppp(self):
print "ppp"
und meine celeryconfig.py datei ist
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'test' : {
'task' : 'X.ppp',
'schedule' : timedelta(seconds=5)
},
}
Wenn ich rennecelery beat
Ich erhalte Fehler wie:
task X.ppp raised exception, TypeError('ppp() takes exactly 1 argument, (0 given)
Wenn ich die Methode in eine normale Funktion verwandle und sie mit "@ celery.task" dekoriere, funktioniert sie, sodass der Rest des Setups zu funktionieren scheint. Ich sehe die Vorbehaltein den Dokumenten über Methodenaufgaben, kann aber nicht wirklich herausfinden, wo das Problem liegt. Weiß jemand, wie man das löst?