Python 持久性后台任务Django+;赫罗库

Python 持久性后台任务Django+;赫罗库,python,django,heroku,background,cron,Python,Django,Heroku,Background,Cron,我的ubuntu服务器上有一个持久后台进程,目前作为一个独立的python脚本运行,由supervisor管理。然而,我正在迁移到Heroku,我想知道是否有人有过设置相同环境的经验 剧本的规格 从外部API获取信息 对数据进行计算 将数据存储到数据库中 如果脚本使用时间少于5秒,请在剩余时间内休眠,否则请再次运行 我可以每5秒运行一次cronjob,但有时步骤1-3可能需要整整一个小时。 有什么建议吗 谢谢。您要做的是创建一个辅助进程。只需定义一个命令行脚本,以便轻松调用它,然后在Procfi

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

剧本的规格

  • 从外部API获取信息
  • 对数据进行计算
  • 将数据存储到数据库中
  • 如果脚本使用时间少于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
    
    一旦您在
    程序文件中定义了此项,请继续并将应用程序推送到Heroku,然后放大工作进程:

    $ heroku scale worker=1
    
    这将启动一个工作进程

    要查看日志并确保一切按预期进行,您可以说:

    $ heroku logs --tail --ps worker
    

    前几天我发现了这一点,我不敢相信它在文档中的位置不高。Heroku支持团队一直告诉我安排作业和/或使用重新排队。非常感谢,伙计。