2011-04-30 51 views
2

我想设置芹菜和塔,似乎无法得到它的工作。我下载了pylons-celery,但是如何将我的Pylons环境指向celeryconfig.py的位置?我把配置文件放在我的pylons-app \ celery文件夹中。我读了这post,但它没有提及如何配对芹菜芹菜。任何指针表示赞赏 - 谢谢!使用芹菜与主塔

+0

[有没有人成功地使用芹with挂架](http://stackoverflow.com/questions/3989366/has-anyone-succeeded-in-using-celery-with-pylons) – user 2013-09-25 05:11:13

回答

3

与挂架最紧密的集成是建立一个自定义加载器到粘贴命令。芹菜塔是这样做的。看看我的叉子celery-pylons这应该与最新的芹菜和塔架1.0。

要获得celeryd边工作,你需要添加正确的选项在您的INI文件中,然后调用贴膜celeryd development.ini

对于你只需要导入environment.py celerypylons然后你会webapp的侧能够从项目的任何位置导入和使用您的任务。

+1

这似乎是过时。这里的参考文献似乎都已死亡。 – 2015-03-10 17:50:06

+0

@JamieStarke有没有办法将问题标记为过时或不再相关?我在2011年问过这个问题,所以绝对过时了。 – 2016-01-03 17:12:50

+0

可以将其标记为版主,但我不知道这是您应该在这种情况下执行的操作... – 2016-01-06 03:32:43

0

我不完全确定你想要达到的目标,但我会解释如何设置Pylons与芹菜一起工作,希望你能从中获益。

我的设置很简单。我使用称为作业的单个控制器实现了带有Pylons的REST API。当收到POST请求时,控制器操作会向芹菜提交一个新任务,捕获新任务的uuid,并用uuid回应原始请求。我最初将我的celeryconfig.py文件放在我的控制器目录中,但是一旦我将pylons app egg部署到apache web服务器,就不会再自动找到celeryconfig.py。

为了解决这个问题,我在与模型和控制器目录相同的级别创建了一个celery目录,并且将我的celeryconfig.py文件放在那里,同时还有一个空的init .py。

这里是一个代码片段的作业控制器,我连接到芹菜并提交一个新的任务。

from celery import Celery 
    from my_pylons_app.celery import celeryconfig 
    celery_app = Celery() 
    celery_app.config_from_object(celeryconfig) 
    result = celery_app.send_task("process_job", [job_guid], connect_timeout=10) 

我能够得到这与我的内部粘贴Web服务器和我的公共活的Apache2 Web服务器的工作。