我有简单的python脚本,我想在Heroku上托管,并使用Heroku调度程序每10分钟运行一次。那么有人可以解释一下我应该在调度程序上的rake命令中键入什么以及我应该如何更改Heroku的Procfile?
答案 0 :(得分:17)
当然,你需要做一些事情:
在项目的根目录中定义一个requirements.txt
文件,列出您的依赖项。这就是Heroku用来'检测'你正在使用Python应用程序的东西。
在Heroku调度程序插件中,只需定义运行以启动python脚本所需的命令。它可能类似于python myscript.py
。
最后,你需要有一些能够在正确的Heroku PORT上收听的网络服务器 - 否则,Heroku会认为你的应用程序无法正常工作,并且它将处于'崩溃'状态 - 这不是你想要的。为了满足这个Heroku的要求,你可以像这样运行一个非常简单的Flask Web服务器......
代码(server.py
):
from os import environ
from flask import Flask
app = Flask(__name__)
app.run(environ.get('PORT'))
然后,在Procfile
中,只需说:web: python server.py
。
那就应该这样做=)