【问题标题】:Heroku: stop all one-off dynos without dyno nameHeroku:停止所有没有测功机名称的一次性测功机
【发布时间】:2021-05-04 16:28:35
【问题描述】:

我运行以下命令两次以启动我的两个一次性测功机

heroku run:detached python main.py

然后使用停止它

heroku ps:stop <dyno-name>

但是,我希望在事先不知道测功机名称的情况下停止我的所有测功机,因为我正在尝试使用 crontab 自动打开和关闭我的测功机。

【问题讨论】:

    标签: heroku command-line dyno


    【解决方案1】:

    我编写了一个 python 脚本来实现同样的效果,虽然没有优化,但可以完成工作。

    import os
    
    path = 'cd <path-to-project>'
    
    def stop():
        online_ps = os.popen(path + ' && heroku ps').read()
        for ps in online_ps.split():
            if(ps.startswith('run')): # process name example run.1234
                os.system(path + ' && heroku ps:stop ' + ps)
    
    def start():
        os.system(path + ' && heroku run:detached python main.py <arg1>') # dyno 1
        os.system(path + ' && heroku run:detached python main.py <arg2>') # dyno 2
    
    stop()
    start()
    

    注意:

    • 注意命令中的空格
    • 此代码假设每个进程名称以run 开头,如run.1234

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-07
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多