2010-10-21 44 views
4

我有一个基于挂架的webapp,我很乐意使用芹菜+ rabbitmq在一段时间内完成任务。我已经看过芹菜塔项目,但是我没有成功地使用它。有没有人成功地使用芹with挂架

我与芹菜的主要问题是:我在哪里把celeryconfig.py文件或有任何其他方式来指定芹菜选项,例如。 BROKER_HOST等等,从一个pylons应用程序(以同样的方式,当使用django-celery时,可以将选项放入django settings.py文件中)。

基本上,我研究了2个选择:用芹菜作为一个独立的项目,并用芹菜挂架,都没有成功.. :(

在此先感谢您的帮助

回答

3

我这样做。目前,虽然我还没有更新芹菜一段时间,我仍然在2.0.0我认为

我所做的是在我的pylons应用程序中创建一个celery_app目录(因此在与数据相同的目录中,控制器等)

In该目录是我的celeryconfig.py,tasks.py和pylons_tasks.py。

pylons_tasks.py只是一个初始化pylons应用程序的文件,所以我可以将pylons模型等加载到芹菜tasks.py文件中。所以它执行了pylons init,然后导入tasks.py。

celeryconfig然后设置为使用myapp.celery_app.pylons_tasks作为CELERY_IMPORTS值。

CELERY_IMPORTS = ("myapp.celery_app.pylons_tasks",) 

希望有助于一些。

1

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

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

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

一个很好用的芹菜项目看看那个用芹菜的是https://rhodecode.org/rhodecode/files/tip/

相关问题