gpt4 book ai didi

python - 持久化后台任务 Django + Heroku

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:18 44 4
gpt4 key购买 nike

我的 ubuntu 服务器上有一个持久的后台进程,目前作为独立的 python 脚本运行,由 supervisor 管理。但是,我正在迁移到 Heroku 并想知道是否有人有设置相同类型环境的经验。

脚本规范;

  1. 从外部 API 获取信息
  2. 对数据进行计算
  3. 将数据存入数据库
  4. 如果脚本使用时间少于 5 秒,则在剩余时间内休眠,否则再次运行

我可以每 5 秒运行一次 cronjob,但有时第 1-3 步可能需要整整一个小时。有什么建议吗?

谢谢。

最佳答案

您要做的是创建一个工作进程。只需定义一个命令行脚本,以便您可以轻松调用它,然后在您的 Procfile 中,添加一个新的 worker 条目,如下所示:

# Procfile
web: python manage.py runserver # example
worker: python manage.py start_cronjob # command to run your background process

一旦你在你的 Procfile 中定义了这个,继续将你的应用程序推送到 Heroku,然后扩展一个工作进程:

$ heroku scale worker=1

这将启动一个工作进程。

要查看日志并确保一切正常,您可以说:

$ heroku logs --tail --ps worker

关于python - 持久化后台任务 Django + Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119232/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com