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

在Heroku Scheduler中执行Heroku CLI命令失败问题咨询

解决Heroku Scheduler无法运行.NET容器控制台应用的问题

核心问题:Scheduler不支持Heroku CLI命令

你之前在Scheduler里填的heroku run bash --type=worker --app serene-mountain-60523是本地Heroku CLI的调用命令,而Heroku Scheduler的任务是直接在应用的dyno环境中执行命令,不需要通过CLI跳转,所以这类命令完全无效。

正确的任务配置步骤

  1. 直接填写应用启动命令
    因为你部署的是.NET控制台应用容器,直接在Scheduler的命令框中填写应用的启动命令即可。比如你的应用编译后入口程序是MyConsoleApp.dll,命令就是:

    dotnet MyConsoleApp.dll
    

    如果你的Dockerfile已经通过CMD或ENTRYPOINT指定了默认启动命令,也可以直接用该命令(比如你的默认启动命令是./MyConsoleApp,就填这个)。

  2. 指定Worker dyno类型
    在Scheduler的任务设置界面,找到Dyno Size旁边的类型选择项,把默认的Web改成Worker——这一步很关键,因为你的应用是Worker类型,Web dyno可能无法正确加载你的容器配置。

  3. 提前验证命令有效性
    先通过本地CLI进入Worker dyno,确认命令能正常运行:

    heroku run bash --type=worker --app serene-mountain-60523
    

    进入后直接执行你要放到Scheduler里的启动命令,比如dotnet MyConsoleApp.dll,确保应用能正常执行、读取到config vars里的认证密钥。

  4. 设置运行时间并保存
    配置好命令和dyno类型后,选择每日运行的时间,保存任务即可。

额外注意事项

  • Scheduler启动的临时dyno会自动继承应用的所有config vars,不需要额外配置环境变量。
  • 如果任务执行失败,可以通过Heroku的日志(heroku logs --app serene-mountain-60523 --tail)查看具体错误信息,排查命令是否有误或应用是否有运行异常。

内容的提问来源于stack exchange,提问作者Dhanik Lal Sahni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:37:09