You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Heroku上实现应用按指定时间自动启停?

完全可以实现指定时间段自动启停,常用有两种落地方案:

方案一:使用Heroku内置Scheduler插件(零额外成本,配置最简单)
  • 进入你的Heroku应用控制台,打开「Resources」标签,在Add-ons搜索框输入Heroku Scheduler,选择免费套餐添加到应用
  • 打开Scheduler的管理面板,新建两个定时任务:
    • 停止任务:设置你需要的关停时间,运行命令 heroku ps:scale web=0 --app <替换为你的应用名>
    • 启动任务:设置你需要的启动时间,运行命令 heroku ps:scale web=1 --app <替换为你的应用名>
  • 时区提示:Scheduler默认使用UTC时区,需要自行换算为你所在地区的对应时间,比如北京时间=UTC时间+8小时,若要设置北京时间凌晨0点关停,对应UTC时间为前一天的16点。
方案二:本地定时任务触发(适合不想使用Heroku插件的场景)

如果你有长期在线的本地设备(如家宽下的服务器、树莓派),可以通过本地定时任务触发启停:

  • 首先在本地设备安装Heroku CLI,完成账号登录授权
  • 编写简单的执行脚本,Python示例如下:
import subprocess

# 停止应用命令
stop_cmd = "heroku ps:scale web=0 --app 你的应用名"
# 启动应用命令
start_cmd = "heroku ps:scale web=1 --app 你的应用名"

# 执行停止/启动,按需注释对应行即可
subprocess.run(stop_cmd, shell=True)
# subprocess.run(start_cmd, shell=True)
  • 使用Linux/macOS的crontab、Windows的任务计划程序,分别设置启停脚本的执行时间即可。
注意事项
  • 若你的应用使用了非web类型的dyno,将命令中的web替换为对应的dyno类型名即可,多实例调整后面的数字即可
  • Heroku免费dyno的文件系统是临时非持久化的,应用重启后运行期间生成的本地文件会被清空,需要持久保存的数据请提前对接数据库或对象存储服务

内容的提问来源于stack exchange,提问作者Theo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:39:00