我有一个Oython应用。这是一个带有aiohttp
的脚本。我有一个requirements.txt
和Procfile
。我的部署阶段成功完成,但是我不明白如何使用正确的端口打开应用。
我的应用程序收听Heroku PORT
环境。
Heroku日志返回:
2019-04-19T13:34:44.150477+00:00 app[api]: Release v7 created by user
doubledare704@gmail.com
2019-04-19T13:34:44.150477+00:00 app[api]: Deploy 1b35a335 by user
doubledare704@gmail.com
2019-04-19T13:34:45.357983+00:00 heroku[worker.1]: State changed from
crashed to starting
2019-04-19T13:34:48.854124+00:00 heroku[worker.1]: Starting process with
command `python index.py`
2019-04-19T13:34:49.473879+00:00 heroku[worker.1]: State changed from
starting to up
2019-04-19T13:34:51.167617+00:00 app[worker.1]: ======== Running on
http://0.0.0.0:10303 ========
2019-04-19T13:34:51.167652+00:00 app[worker.1]: (Press CTRL+C to quit)
2019-04-19T13:34:54.000000+00:00 app[api]: Build succeeded
2019-04-19T13:35:05.578025+00:00 heroku[router]: at=error code=H14 desc="No
web processes running" method=GET path="/" host=google-adschecker-
704.herokuapp.com request_id=8a85c812-a4b9-4d8f-98f6-91a8ff557594
fwd="93.170.115.160" dyno= connect= service= status=503 bytes= protocol=https
2019-04-19T13:35:05.888452+00:00 heroku[router]: at=error code=H14 desc="No
web processes running" method=GET path="/favicon.ico" host=google-
adschecker-704.herokuapp.com request_id=a7be2157-523c-4d00-9a26-a68e7d40e1fd
fwd="93.170.115.160" dyno= connect= service= status=503 bytes= protocol=https
H14错误显示了有关dynos的信息,但是我打开了1个dyno。如何将所有HTTP请求切换到该端口?或者如何在Heroku上管理设置?
这是我的Procfile
:
worker: python index.py
答案 0 :(得分:1)
Workers can't receive network requests from the internet:
Heroku应用的
web
进程类型很特殊:它是唯一一种可以从Heroku路由器接收外部HTTP流量的进程类型。如果您的应用包含网络服务器,则应将其声明为应用的web
进程。
通过修改worker
,将主流程类型从web
更改为Procfile
:
web: python index.py