【发布时间】:2021-05-04 16:28:35
【问题描述】:
我运行以下命令两次以启动我的两个一次性测功机
heroku run:detached python main.py
然后使用停止它
heroku ps:stop <dyno-name>
但是,我希望在事先不知道测功机名称的情况下停止我的所有测功机,因为我正在尝试使用 crontab 自动打开和关闭我的测功机。
【问题讨论】:
标签: heroku command-line dyno
我运行以下命令两次以启动我的两个一次性测功机
heroku run:detached python main.py
然后使用停止它
heroku ps:stop <dyno-name>
但是,我希望在事先不知道测功机名称的情况下停止我的所有测功机,因为我正在尝试使用 crontab 自动打开和关闭我的测功机。
【问题讨论】:
标签: heroku command-line dyno
我编写了一个 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
【讨论】: