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

Heroku对CronJob持续收费?Dyno选型及计费咨询

Heroku部署内置CronJob调度程序的计费与Dyno选择问题

我计划在Heroku上部署一款内置CronJob调度器的小型程序,核心调度代码如下:

def cronJob():
    asyncio.run(main())

scheduler = BlockingScheduler()

scheduler.add_job(cronJob, 'cron', hour=8, minute=0)

scheduler.add_job(cronJob, 'cron', hour=17, minute=0)

try:
    scheduler.start()
except KeyboardInterrupt:
    pass

现咨询两个问题:

  1. Heroku的计费规则,是按程序持续运行的每小时收费,还是仅按每日两次、每次约1分钟的main函数执行时长计费?
  2. 我应选用哪种Dyno?未来我还会为该项目添加更多CronJob,需确保方案兼容。

问题解答

  1. 计费规则说明
    Heroku的计费是按Dyno的持续运行时长计算的。你的代码中BlockingScheduler启动后,Dyno会一直处于运行状态——哪怕main()仅执行1分钟,剩余时间调度器只是等待下一次任务触发,Dyno依然会持续占用资源并产生计费。所以是按程序整体运行的每小时收费,而非仅计算main()函数的执行时长。

  2. Dyno选型建议

  • 测试阶段可尝试免费Hobby Dyno,但它有明显限制:30分钟无外部请求会进入休眠,休眠后无法自动唤醒执行定时任务,且每月有固定免费运行时长配额,无法保证任务准点触发。
  • 若需稳定运行,推荐选用付费Hobby Dyno(最低档即可):它不会休眠,能确保所有定时任务按预设时间触发。未来添加更多CronJob时,只要单个任务执行时间不长、不会互相阻塞(BlockingScheduler默认串行执行任务),该档次Dyno完全兼容;后续若任务资源消耗增大或需要并行执行,再升级到Standard Dyno即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:49:52