我在Heroku中使用Django,在我的网站上,我每个月都会通过芹菜发送批量电子邮件。因为我一个月只用一次这个工人,所以我不想一直付钱。在我发送电子邮件之前和之后,我可以使用heroku scale workers=0停止工作人员,并使用heroku scale workers=1手动将其扩展。
然而,由于其他非技术人员也会从django发送电子邮件,因此他们无法运行这些命令。我可以通过在Heroku web进程中执行Python中的命令来停止工人吗?我可以在发送电子邮件之前执行任何命令。
发布于 2012-04-13 13:49:44
heroku.py有一个错误,请参阅问题:https://github.com/heroku/heroku.py/issues/10和https://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})发布于 2012-01-24 13:42:07
您可以使用python api客户端heroku.py来实现这一点。其源代码可从https://github.com/heroku/heroku.py下载到PyPi上
您还可以使用scheduler插件,并有一个计划为每月运行一次的命令来发送电子邮件,而不必扩展进程。
https://stackoverflow.com/questions/8982154
复制相似问题