Почему Celery работает в оболочке Python, но не в моих представлениях Django? (проблема с импортом)

Я установил Celery (последняя стабильная версия.) У меня есть каталог / home / myuser / fable / jobs . Внутри этого каталога у меня есть файл с именем tasks.py:[12131 sizes, внутри этого каталога, у меня также есть файл с именем celeryconfig.py:[12132 sizes, в моем / etc / profile , у меня есть эти настройки как мой PYTHONPATH:

  • PYTHONPATH = / home / myuser / fable: / home / myuser / fable / jobs

Итак, я запускаю свой рабочий Celery с помощью консоли ( $ celeryd --loglevel = INFO ), и я пробую. Я открываю консоль Python и импортирую задачи. Затем я запускаю Submitter.

>>> import fable.jobs.tasks as tasks
>>> s = tasks.Submitter()
>>> s.delay("abc")
<AsyncResult: d70d9732-fb07-4cca-82be-d7912124a987>

Все работает, как вы можете видеть в моей консоли

[2011-01-09 17:30:05,766: INFO/MainProcess] Task tasks.Submitter[d70d9732-fb07-4cca-82be-d7912124a987] succeeded in 0.0398268699646s:

Но когда я захожу в свой Django views.py и запускаю точно 3 строки кода, как указано выше, я получаю следующее:

[2011-01-09 17:25:20,298: ERROR/MainProcess] Unknown task ignored: "Task of kind 'fable.jobs.tasks.Submitter' is not registered, please make sure it's imported.": {'retries': 0, 'task': 'fable.jobs.tasks.Submitter', 'args': ('abc',), 'expires': None, 'eta': None, 'kwargs': {}, 'id': 'eb5c65b4-f352-45c6-96f1-05d3a5329d53'}
Traceback (most recent call last):
  File "/home/myuser/mysite-env/lib/python2.6/site-packages/celery/worker/listener.py", line 321, in receive_message
    eventer=self.event_dispatcher)
  File "/home/myuser/mysite-env/lib/python2.6/site-packages/celery/worker/job.py", line 299, in from_message
    eta=eta, expires=expires)
  File "/home/myuser/mysite-env/lib/python2.6/site-packages/celery/worker/job.py", line 243, in __init__
    self.task = tasks[self.task_name]
  File "/home/myuser/mysite-env/lib/python2.6/site-packages/celery/registry.py", line 63, in __getitem__
    raise self.NotRegistered(str(exc))
NotRegistered: "Task of kind 'fable.jobs.tasks.Submitter' is not registered, please make sure it's imported."

Это странно, потому что при запуске клиент celeryd показывает, что он зарегистрирован.

[2011-01-09 17:38:27,446: WARNING/MainProcess]  
Configuration ->
    . broker -> amqp://GOGOme@localhost:5672/fablemq
    . queues ->
        . celery -> exchange:celery (direct) binding:celery
    . concurrency -> 1
    . loader -> celery.loaders.default.Loader
    . logfile -> [stderr]@INFO
    . events -> OFF
    . beat -> OFF
    . tasks ->
        . tasks.Decayer
        . tasks.Submitter

Может ли кто-нибудь помочь?

14
задан TIMEX 10 January 2011 в 01:39
поделиться