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

将Python开发的TelegramBot从GitHub部署到Heroku时出现H14错误求助

问题:Python Telegram Bot部署到Heroku时出现H14错误

我用Python开发了一个Telegram Bot,从GitHub部署到Heroku后遇到了如下错误,有人知道原因吗?我的GitHub仓库中已配置Procfile。

错误日志:

2024-07-04T06:38:39.000000+00:00 app[api]: 用户elledayz@gmail.com触发构建
2024-07-04T06:38:39.000000+00:00 app[api]: 用户elledayz@gmail.com触发构建
2024-07-04T06:38:55.478865+00:00 app[api]: 用户elledayz@gmail.com创建版本v35
2024-07-04T06:38:55.478865+00:00 app[api]: 用户elledayz@gmail.com部署版本08347330
2024-07-04T06:38:55.530286+00:00 app[api]: 用户elledayz@gmail.com创建版本v36
2024-07-04T06:38:55.530286+00:00 app[api]: 用户elledayz@gmail.com部署版本08347330
2024-07-04T06:38:58.000000+00:00 app[api]: 构建成功
2024-07-04T06:38:58.000000+00:00 app[api]: 构建成功
2024-07-04T06:39:03.021098+00:00 heroku[router]: at=error code=H14 desc="无Web进程运行" method=GET path="/" host=bot-telegram-team-7a85d2e1bab2.herokuapp.com request_id=410d3f57-251c-4d6b-aea0-f21ed5bea9df fwd="84.46.29.2" dyno= connect= service= status=503 bytes= protocol=https
2024-07-04T06:39:03.856405+00:00 heroku[router]: at=error code=H14 desc="无Web进程运行" method=GET path="/favicon.ico" host=bot-telegram-team-7a85d2e1bab2.herokuapp.com request_id=a8494a3b-b79c-402a-8259-8a2d8aef9571 fwd="84.46.29.2" dyno= connect= service= status=503 bytes= protocol=https

解决方法

问题根源

H14错误是Heroku提示当前没有运行的Web进程,但Telegram Bot是后台worker进程,不需要提供Web服务,问题出在Procfile配置错误或未启动worker进程。

具体修复步骤

  1. 检查Procfile
    确保Procfile在仓库根目录,无后缀,内容正确声明worker进程:

    worker: python bot.py
    

    把bot.py换成你的Bot主入口文件名。

  2. 启动worker进程

    • 用Heroku CLI执行命令:
      heroku ps:scale worker=1
      
    • 或者登录Heroku后台,进入应用的「资源」页面,找到worker进程,将数量从0调为1。
  3. 关闭冗余Web进程
    如果之前错误启动了Web进程,执行命令关闭:

    heroku ps:scale web=0
    

完成以上操作后,Bot会以worker进程在Heroku后台运行,不会再触发H14错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:22:14