我正在使用tcelery与Tornado异步运行任务。环境 : OSX, Python3.4
这是 server.py:
from tornado import gen
from tornado import ioloop
from tornado.web import asynchronous, RequestHandler, Application
import tasks
import tcelery
tcelery.setup_nonblocking_producer()
class GenAsyncHandler(RequestHandler):
@asynchronous
@gen.coroutine
def get(self):
response = yield gen.Task(tasks.sleep.apply_async, args=[3])
self.write(str(response.result))
self.finish()
application = Application([
(r"/gen-async-sleep", GenAsyncHandler)
])
if __name__ == "__main__":
application.listen(8887)
ioloop.IOLoop.instance().start()
当我运行服务器文件时,这是返回的错误跟踪:
回溯(最近一次调用(:文件"tornado_async.py",第 7 行, 在 import tcelery File "/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/init.py", 第 8 行,在 from .producer import NonBlockingTaskProducer File "/Users/mohit/anaconda/envs/py34/lib/python3.4/site-packages/tcelery/producer.py", 第 10 行,在 从 celery.app.amqp 导入任务生产者导入错误:无法导入名称"任务生产者">
我该如何解决这个问题?谢谢
你的龙卷风芹菜版本太低,无法支持芹菜-4.1。您可以通过"python setup.py 安装"安装龙卷风芹菜。