在 python 上获取“错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT”

Posted

技术标签:

【中文标题】在 python 上获取“错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT”【英文标题】:Getting "Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch" on python 【发布时间】:2019-02-15 21:05:56 【问题描述】:

我正在使用烧瓶在 Python 上开发应用程序,但在尝试将其部署到 Heroku 时出现此错误:

错误 R10(启动超时)-> Web 进程在启动后 60 秒内未能绑定到 $PORT

在 Heroku 日志中,我可以看到这一行

我尝试过的几种可能性

    在我的 Procfile 中我写了这个web: python hello-mysql.py

    我也试过web: python hello-mysql.py runserver 0.0.0.0=$PORT

    在 Procfile 中将“web”替换为“worker”。

【问题讨论】:

如果您查看日志行,您的应用在端口 5000 上启动。它需要在 $PORT 设置的端口上启动 @DamienMATHIEU 我试过 $PORT...但是从你的角度来看,你能告诉我它是如何工作的吗? 您似乎没有使用任何 Python 标准服务器,例如 gunicorn。所以在启动服务器的时候需要自己处理端口,用os.environ['PORT']而不是5000。 【参考方案1】:

在@damien 看来,您似乎没有绑定到$PORT env var。以下是一些可能有帮助的文档:https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile 和 https://devcenter.heroku.com/articles/dynos#web-dynos

另外,不要将您的进程重命名为“worker”,因为只有名为 web 的进程才能通过 http/https 访问。

【讨论】:

如何绑定到$PORT 环境变量?在我的例子中,我使用 selenium 来自动化 Chrome 中的一些任务并得到同样的错误。 @JacekTrociński 同样的问题。

以上是关于在 python 上获取“错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT”的主要内容,如果未能解决你的问题,请参考以下文章

错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT - Heroku

Java Maven 项目 - 错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT

错误 R10 - Web 进程在启动后 60 秒内未能绑定到 $PORT

错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT - HEROKU ERROR

Heroku discord bot 托管错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT

Heroku Node.js 错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT