python - 按计划在 Heroku 上运行 Python 脚本(作为单独的应用程序)

标签 python heroku background-process

好吧,我正在开发一个具有 2 个 Heroku 应用程序的应用程序 - 一个是在抓取网站后写入我的数据库的编写器,另一个是使用所述数据库的读取器。

前者只是一个具有 while 1 循环的 Python 脚本 - 它实际上是一个 Twitter 流。我希望它每 x 分钟运行一次,无论读者在做什么。

现在,在本地运行脚本工作正常,但我不确定如何让它在 Heroku 上工作。我尝试查找它,但找不到可靠的答案。我读过有关后台任务、Redis 队列、一次性测功机等的内容,但我不确定真正用于我的目的的是什么。我的一些要求是:

  1. 让 Python 脚本记录我想要的任何内容。
  2. 将来,我可能想为作者添加一个管理面板,它只会显示脚本(和日志)的统计信息。因此,连接这个管理面板(flask)应该很容易,并且不会破坏脚本本身。

我希望在这里得到任何建议或指示。

最佳答案

  1. 我建议将消费者编写为等待的服务器,然后按定时间隔处理流。也就是说,您启动它一次,它就会永远运行,每 10 分钟左右进行一些处理。

    参见:sched Python 模块,在特定时间处理调度事件并运行它们。

  2. 更简单:使用 Heroku 的 scheduler服务。

这种技术更简单——它只是直通式代码——但如果您同时运行两个相同的消费者,则可能会导致问题。

关于python - 按计划在 Heroku 上运行 Python 脚本(作为单独的应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23967028/

相关文章:

android - 将 Appium Python UI 测试脚本放入存储库的最佳实践

python - Linux。 Heroku-Django。 Collectstatic 只读文件系统

iphone - 为什么这个应用程序在后台崩溃?

python - group-by + case when 等价

Python Pandas 如何将一个数据帧中的日期与另一个数据帧中的日期进行比较?

ruby - 在 Heroku 上部署,如何指定用于 bundler 的 ruby​​ 版本?

mysql - Heroku - 错误的 MySQL 查询(ActiveRecord)?

android - 在 Android 后台运行一个循环

javascript - vue.js:定期重复后台查询的位置

python - 在 python 中使用 igraph 创建无向加权图