Warum Sellerie Rückkehr eine KeyError bei der Ausführung meiner Aufgabe?
Ich bekomme immer diese keyError. Ich bin senden von Zeichenfolgen-und die id (Integer) der Aufgabe-Funktion, so dass ich nicht denke, es ist die Serialisierung Problem. Auch sagt es, dass der keyerror ist auf dem Weg an die Funktion selbst, nicht der Inhalt. Bitte helfen Sie.
Tasks.py
from celery.decorators import task
from notification import models as notification
@task(ignore_result=True)
def notify_match_creation(match, home_team, away_team, home_team_captain, away_team_captain):
notification.send(User.objects.filter(profile__teams__pk__in=(home_team, away_team)),
"tournaments_new_match",
{'match': unicode(match),
'home_team_captain': home_team_captain,
'away_team_captain': away_team_captain,
})
Relevanten Einstellungen
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "postgresql://user:pass@localhost/ahgl"
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"
Sellerie Ausgabe:
[Aufgaben]
. apps.tournaments.tasks.notify_match_creation
. tournaments.tasks.notify_match_creation
[2012-02-25 02:34:06,209: WARNING/MainProcess] celery@NATTOWER has started.
[2012-02-25 02:34:06,477: WARNING/PoolWorker-4] E:\Webdesign\ahgl\ENV\lib\site-packages\djcelery\loaders.py:84: UserWarn
ing: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never "
[2012-02-25 02:34:06,479: WARNING/PoolWorker-2] E:\Webdesign\ahgl\ENV\lib\site-packages\djcelery\loaders.py:84: UserWarn
ing: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never "
[2012-02-25 02:34:06,523: WARNING/PoolWorker-3] E:\Webdesign\ahgl\ENV\lib\site-packages\djcelery\loaders.py:84: UserWarn
ing: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never "
[2012-02-25 02:34:06,566: WARNING/PoolWorker-1] E:\Webdesign\ahgl\ENV\lib\site-packages\djcelery\loaders.py:84: UserWarn
ing: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn("Using settings.DEBUG leads to a memory leak, never "
[2012-02-25 02:34:31,520: INFO/MainProcess] Got task from broker: apps.tournaments.tasks.notify_match_creation[4dbd6258-
5cee-49e9-8c8a-2d2105a2d52a]
[2012-02-25 02:34:31,569: ERROR/MainProcess] Task apps.tournaments.tasks.notify_match_creation[4dbd6258-5cee-49e9-8c8a-2
d2105a2d52a] raised exception: KeyError('apps.tournaments.tasks.notify_match_creation',)
Traceback (most recent call last):
File "E:\Webdesign\ahgl\ENV\lib\site-packages\celery\concurrency\processes\pool.py", line 211, in worker
result = (True, func(*args, **kwds))
File "E:\Webdesign\ahgl\ENV\lib\site-packages\celery\worker\job.py", line 50, in execute_and_trace
task = tasks[name]
KeyError: 'apps.tournaments.tasks.notify_match_creation'
[2012-02-25 02:38:29,773: WARNING/MainProcess] celeryd: Hitting Ctrl+C again will terminate all running tasks!
[2012-02-25 02:38:29,773: WARNING/MainProcess] celeryd: Warm shutdown (MainProcess)
[2012-02-25 02:38:31,779: INFO/MainProcess] process shutting down
InformationsquelleAutor Nathaniel Tucker | 2012-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Sellerie-Ausgabe, sehen Sie, dass die Aufgabe, die angenommen wird ist
ist und Ihren Schlüssel Fehler ist es
rufen Sie vor der Sellerie Aufgabe, stellen Sie sicher, dass es importiert mit dem gleichen Namen (Struktur), wie es in der Sellerie-Aufgabe, die wird abgeholt (#1). Bitte beachten Sie die Links, die von asksol oben, um Ihre relative Importe Rechte.
eine mögliche Lösung, wenn Sie starten Sellerie - versuchen
diese ausrichten könnten Ihre Aufgabe-Namen
InformationsquelleAutor jetpackdata.com