Celery ImportError:没有名为tasks的模块

Rma*_*tin 5 django celery

我正在为Celery/RabbitMQ/Django创建一个测试场景.浏览/阅读类似我的各种帖子后,我发现这一个,最接近,但仍然没有帮助我.执行芹菜工作时,我遇到"ImportError:no module named tasks"错误.

芹菜:3.1.5(不是dj芹菜)Django:1.5.5

项目结构:

testcele/ (project name)
  mycelery/ (myapp)
    __init__
    tasks

  testcele/
    __init__
    celery_task
    settings
Run Code Online (Sandbox Code Playgroud)

testcele/testcele/celery_task:

  from __future__ import absolute_import
  import os
  from celery import Celery, task, current_task
  from django.conf import settings

  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'testcele.settings')

  app = Celery('testcele', backend='amqp', broker='amqp://guest@localhost//',
                include=['tasks'])

  if __name__ == '__main__':
      app.start()    

  # Using a string here means the worker will not have to
  # pickle the object when using Windows.
  app.config_from_object('django.conf:settings')
  app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
Run Code Online (Sandbox Code Playgroud)

testcele/testcele/init .py:

  from __future__ import absolute_import
  from .celery_task import app as celery_app
Run Code Online (Sandbox Code Playgroud)

mycelery/tasks.py:

  from __future__ import absolute_import
  from celery import Celery, task, current_task, shared_task


  @shared_task()
  def create_models():
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我正在跑步:"芹菜工人-A testcele -l INFO",位于"testcele /"子目录.我也尝试从testcele/testcel子目录运行,从testcele/mycelery运行,用"tasks"或"mycelery"替换celery worker命令中的"testcele".显然,这会产生其他错误.

我错过了什么?

谢谢,里卡多

ale*_*der 8

尝试__init__.pymycelery文件夹中添加文件以使其成为模块.如果这不起作用,请在定义时指定任务app.像这样:

app = Celery('testcele', backend='amqp', broker='amqp://guest@localhost//',
                include=['mycelery.tasks'])
Run Code Online (Sandbox Code Playgroud)