You need to enable JavaScript to run this app. 如何在Heroku部署Rust编写的Telegram疫苗查询机器人,解决H14报错问题
优惠活动
大模型
产品
解决方案
定价
更多

如何在Heroku部署Rust编写的Telegram疫苗查询机器人,解决H14报错问题

问题核心原因及解决方法

1. H14报错不影响你的机器人运行

你看到的H14 No web processes running报错是你主动访问应用HTTP地址触发的,你本身不需要提供web服务,这个报错属于正常现象,完全不影响后台机器人的运行,不需要处理这个报错。

2. 你当前的Procfile配置完全错误,这是机器人无法正常运行的核心原因

你的Procfile存在两个核心问题:

  • 所有命令都绑定了release类型:release是部署阶段一次性执行的临时命令,执行完成后进程就会退出,不会作为常驻后台进程运行,你把启动机器人的cargo run写在release下,只会在部署时跑一次就自动停止,不可能持续提供服务。
  • 环境变量不该写在Procfile中:Heroku提供了专门的环境变量配置入口,你可以直接在应用控制台的「Settings」-「Config Vars」板块添加TELOXIDE_TOKEN、CHANNEL_ID、OWNER_ID三个变量的对应值即可,不需要在Procfile中声明export命令。

修改后的Procfile只需要保留一行即可:

worker: cargo run

worker是Heroku为不需要接收外部HTTP请求的常驻后台服务提供的进程类型,完全适配你的Telegram机器人场景。

3. 手动开启worker进程

修改Procfile重新部署后,默认Heroku不会自动启动worker进程,你需要做以下任意一个操作开启:

  • 在应用控制台的「Resources」页面找到worker进程项,将右侧的开关调整为开启状态
  • 如果你安装了Heroku CLI,可以直接执行命令heroku ps:scale worker=1

额外注意

如果你的Telegram机器人使用的是WebHook模式而非长轮询模式,那才需要配置web类型进程接收Telegram的回调请求,如果是长轮询模式用worker进程即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 15:36:04