ImportError:没有名为control的模块

时间:2014-07-05 05:41:03

标签: python import celery

我有一个芹菜应用程序,我的文件是这样的:

  /fetcher.py
  /mirad
       celery.py
       fetcher_tasks.py
celery.py中的

我是导入fetcher_tasks.py 在fetcher.py中,我从fetcher_tasks.py调用一个任务 我想在fetcher.py中导入celery.control但是我不能这样做,我怎么能做这项工作?

这是我的提取器代码的一部分:

from __future__ import absolute_import

import mirad.fetcher_tasks as tasks
from mirad.models.models import SourceModel
from mirad.settings import *
from mirad.celery.control import inspect


parse_feed_tasks = list()

def fetch():

        for source in SourceModel.objects(active=True):
            a = tasks.parse_feed.delay(source)

1 个答案:

答案 0 :(得分:1)

看起来你在项目中混合了celery.py,用于启动Celery应用程序和celery包,你可以从中导入necessery函数。

您应该从inspect包中导入celery.task.control功能。

from __future__ import absolute_import

import mirad.fetcher_tasks as tasks
from mirad.models.models import SourceModel
from mirad.settings import *
from celery.task.control import inspect

parse_feed_tasks = list()

def fetch():

        for source in SourceModel.objects(active=True):
            a = tasks.parse_feed.delay(source)