2011-04-30 82 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服務器的工作。