【问题标题】:How to have Heroku Dyno run and then shut down after running once如何让 Heroku Dyno 运行,然后在运行一次后关闭
【发布时间】:2017-10-22 16:15:18
【问题描述】:

我有一个 python 脚本,我想每周自动运行一次。它在私人空间中访问 Heroku 数据库中的数据,所以我认为构建一个 Heroku 应用程序,然后使用 Heroku Scheduler 插件可以满足我的需求。无论如何,我需要运行 Heroku dyno 来访问数据——否则我不能。

但是,查看应用程序日志(使用Papertrail),我注意到即使在成功迭代后(Process exited with status 0),应用程序仍会继续重复运行 python 脚本。我希望这种情况发生,因为它可能会给数据库带来不必要的压力。

有没有办法在 Heroku 上运行脚本/应用程序,然后实际将其关闭,直到下一次显式调用它?

【问题讨论】:

    标签: python heroku scheduler


    【解决方案1】:

    解决方案是从Procfile 中删除运行我的脚本的(worker)命令然后将调度程序设置为described here by Heroku.

    如果一个命令在您的Procfile 中,它将继续执行而不管成功状态。

    【讨论】:

      【解决方案2】:

      调度程序可能是最好的方法,调度程序将配置的任务作为一次性进程运行,并在完成时终止该进程。但是,如果您只希望它每周运行一次,则需要在脚本中执行一些逻辑来检查这一天是否是您希望作业运行的那一天,如果是,则继续,否则就完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-23
        • 1970-01-01
        相关资源
        最近更新 更多