2010-10-21 72 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/

相關問題