【问题标题】:Deploying TelegramBot(Rust) using Heroku使用 Heroku 部署 TelegramBot(Rust)
【发布时间】:2021-08-12 01:45:03
【问题描述】:

好的开始-
我正在构建一个 Telegram 机器人,用于扫描我的位置以获取新冠疫苗。
源代码在here

该程序在我的 PC 上运行良好,我想将其上传到服务器上。
于是我在网上找了一个tutorial,将基于python的网络应用上传到Heroku,以深入了解Heroku。 我犯了为 rust 应用程序创建 python 环境的错误(原谅我,我只是一个初学者)。 然后,我尽我所知通过撤消更改来修复它。 然后我了解到 Rust 需要 buildpack 然后我实现了它(希望如此)。 后来我终于知道了Procfile的重要性并做了这个(我真的希望我没有弄错Procfile)。

release: export TELOXIDE_TOKEN=*********
release: export CHANNEL_ID=********
release: export OWNER_ID=*********
release: cargo run

我想创建一个“web”进程类型,因为我认为只有当你有一个 web 界面或要求 Heroku 接受一个 web 界面时才需要它。

Heroku 应用的 Web 进程类型很特殊:它是唯一可以从 Heroku 路由器接收外部 HTTP 流量的进程类型。如果您的应用包含网络服务器,则应将其声明为应用的网络进程。

  • 从文档中得到这个

现在的问题是 Heroku 在我尝试打开应用程序时向我显示此错误代码。

应用程序错误 应用程序发生错误,无法提供您的页面。如果您是应用程序所有者,请查看您的日志以获取详细信息。您可以在 Heroku CLI 中使用以下命令完成此操作

我认为这是因为我没有使用任何网络界面。

然后我检查了日志文件并发生了这种情况

2021-05-23T13:35:09.287511+00:00 heroku[router]: at=error code=H14 desc="No web processes running" 
method=GET path="/favicon.ico" host=pure-stream-48197.herokuapp.com request_id=8859d568-2f24-4f83- 
b9c8-45e8603a373a fwd="116.68.99.130" dyno= connect= service= status=503 bytes= protocol=https

我试过specifying dyno 并重新检查了我的“P”rocfile 的扩展名“无扩展名” 我在某处弄错了基础知识,不确定自己做错了什么。
谢谢你帮助我

【问题讨论】:

  • 您可能不应该在Procfile 中包含敏感的环境变量,而是按照here 的说明添加它们。

标签: heroku rust telegram-bot rust-cargo heroku-toolbelt


【解决方案1】:

您需要运行worker: dyno。 请将您的 Procfile 更新为以下内容。

release: export TELOXIDE_TOKEN=*********
release: export CHANNEL_ID=********
release: export OWNER_ID=*********
worker: cargo run

【讨论】:

    猜你喜欢
    • 2013-06-20
    • 2013-07-16
    • 2011-06-05
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2015-11-13
    • 2017-10-17
    相关资源
    最近更新 更多