好吧,我正在开发一个具有 2 个 Heroku 应用程序的应用程序 - 一个是在抓取网站后写入我的数据库的编写器,另一个是使用所述数据库的读取器。
前者只是一个具有 while 1
循环的 Python 脚本 - 它实际上是一个 Twitter 流。我希望它每 x 分钟运行一次,无论读者在做什么。
现在,在本地运行脚本工作正常,但我不确定如何让它在 Heroku 上工作。我尝试查找它,但找不到可靠的答案。我读过有关后台任务、Redis 队列、一次性测功机等的内容,但我不确定真正用于我的目的的是什么。我的一些要求是:
- 让 Python 脚本记录我想要的任何内容。
- 将来,我可能想为作者添加一个管理面板,它只会显示脚本(和日志)的统计信息。因此,连接这个管理面板(flask)应该很容易,并且不会破坏脚本本身。
我希望在这里得到任何建议或指示。
最佳答案
我建议将消费者编写为等待的服务器,然后按定时间隔处理流。也就是说,您启动它一次,它就会永远运行,每 10 分钟左右进行一些处理。
参见:sched Python 模块,在特定时间处理调度事件并运行它们。
更简单:使用 Heroku 的 scheduler服务。
这种技术更简单——它只是直通式代码——但如果您同时运行两个相同的消费者,则可能会导致问题。
关于python - 按计划在 Heroku 上运行 Python 脚本(作为单独的应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23967028/