在过去的6个小时左右,我一直被困在这个上面。所以任何帮助都将不胜感激。
我在部署在Heroku上的Django应用程序上使用djcelery。该应用程序有一个周期性的任务,工作正常。
今天,我提出了另一个Heroku应用程序,它是前一个应用程序的克隆,因此我们将拥有一个生产环境。新的Heroku部署没有运行周期性任务,相反,我在日志中得到了这个:
2013-01-09T15:35:11+00:00 app[celeryd.1]: [2013-01-09 15:35:11,252: ERROR/MainProcess] Task tasks.UpdateWowza[611aad8e-a1fc-4d6e-b6df-f09b9dcf8e41] raised exception: Task of kind 'tasks.UpdateWowza' is not registered, please make sure it's imported.
2013-01-09T15:35:11+00:00 app[celeryd.1]: Traceback (most recent call last):
2013-01-09T15:35:11+00:00 app[celeryd.1]: File "/app/.heroku/python/lib/python2.7/site-packages/billiard/pool.py", line 301, in worker
2013-01-09T15:35:11+00:00 app[celeryd.1]: result = (True, func(*args, **kwds))
2013-01-09T15:35:11+00:00 app[celeryd.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/task/trace.py", line 312, in_fast_trace_task
2013-01-09T15:35:11+00:00 app[celeryd.1]: return _tasks[task].__trace__(uuid, args, kwargs, request)[0]
2013-01-09T15:35:11+00:00 app[celeryd.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/app/registry.py", line 20, in __missing__
2013-01-09T15:35:11+00:00 app[celeryd.1]: raise self.NotRegistered(key)
2013-01-09T15:35:11+00:00 app[celeryd.1]: NotRegistered: 'tasks.UpdateWowza'
这是我被卡住的地方,这两个部署具有完全相同的代码,相同的Heroku插件和相同的配置。 此外,djcelery的DB模型在两个部署中都是空的。
我错过了什么?除上述因素外还有其他因素吗? 我甚至给定期任务一个明确的名称,以确保不是问题。
非常感谢任何帮助!