2012-01-24 43 views
0

我在Heroku中使用Django,在我的網站中,我每個月都會通過Celery發送批量電子郵件。由於我每個月只使用一次該工作人員,所以我不想一直支付這筆費用。我可以停止使用heroku scale workers=0的工作人員,並在發送我的電子郵件之前和之後手動將其擴展爲heroku scale workers=1用Django在Heroku中怠速工作人員

但是,由於其他非技術人員也會從django發送電子郵件,所以他們無法運行這些命令。我可以通過在Heroku web進程中執行Python命令來停止工作嗎?在發送郵件之前,我可以執行任何命令。

+0

你與你想什麼成功與蟒蛇API客戶端?我自己嘗試過,但無法讓它工作。在這裏創建了一個問題:https://github.com/heroku/heroku.py/issues/10 –

+0

不,在發佈這個問題後不久,我將我的網站從Heroku移出,所以我沒有嘗試過。我會看看bug報告,但我仍然對 –

+0

感興趣哦,似乎別人也發佈了一個問題。 https://github.com/heroku/heroku.py/issues/4 –

回答

1

沒有與heroku.py看問題的錯誤:https://github.com/heroku/heroku.py/issues/10https://github.com/heroku/heroku.py/issues/4

我身邊做了一個快速的工作,它採用直接HTTP資源:

cloud = heroku.from_key(settings.HEROKU_APIKEY)  
cloud._http_resource(method='POST', 
    resource=('apps', 'appnane', 'ps', 'scale'), 
    data={'type': 'processname', 'qty': 1}) 

cloud._http_resource(method='POST', resource=('apps', 'appname', 'ps', 'scale'), data={'type': 'processname', 'qty': 0}) 
1

您可以使用heroku.py python api客戶端來做到這一點。它在PyPi上可用,源碼可用https://github.com/heroku/heroku.py

您也可以使用scheduler插件,並有一個計劃每月運行一次的命令來發送您的電子郵件,而不必擴展進程。

+0

+1作爲調度程序。 http://addons.heroku.com/scheduler – Will

+0

謝謝,我將使用python API客戶端,它就是我正在尋找的東西!我不想要一個計劃任務,因爲它不一定每個月都有規律的,就在這個時間範圍內。 –

相關問題