访问Virtualenv之外的Celery实例

时间:2012-09-13 01:11:59

标签: python virtualenv celery

我在服务器上的虚拟环境中运行了基于烧瓶的API。我希望我的API可以调用celery任务,但是Celery已经安装并且已经在运行API的虚拟环境之外运行用于其他目的。如何导入我的任务模块,以便可以在virtualenv中使用它。

很抱歉,如果这是一个愚蠢的问题,使用Virtualenv对我来说是新的。

1 个答案:

答案 0 :(得分:3)

您只需安装在virtualenv中加载'tasks'模块所需的依赖项(例如pip install celery)。

发送任务的行为与virtualenv并不真正相关,它只需要与正确的代理URL进行通信(例如,当使用Django数据库作为代理时,这可能会有点复杂。)

事实上,您也可以通过名称轻松发送任务:

$ python
>>> from celery import Celery
>>> Celery(broker='amqp://').send_task('tasks.add', (2, 2))

因此代理是唯一必需的通信点,但tasks.py模块和Celery应用程序可以包含影响任务发送方式的配置(例如路由到不同的队列,设置默认队列名称和队列+任务配置等等) )。

相关问题