簡體   English   中英

“沒有 web 進程正在運行”Heroku 上的錯誤,部署 Fastapi

[英]"No web processes running" Error on Heroku , Deploying Fastapi

我正在嘗試在 Heroku 上托管 FASTAPI api,但我一直面臨這個錯誤

at=error code=H14 desc="No web processes running" method=GET path="/" host=myapp-api.herokuapp.com request_id=09d8bd62-bcf7-4738-a747-fb3cdd8cd7f7 fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https
heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=myapp-api.herokuapp.com request_id=92d2cfd5-c0d8-4696-9e79-8f0bb7231bce fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https

在參考了所有類似的帖子之后, 就像這個我發現heroku ps:scale web=1可以工作,但我的問題是

  1. 沒有提到在哪里運行這個命令。

  2. 應該將其添加到我的 proctfile 中嗎?

  3. 我嘗試在 web 上的 Heroku Run Console中運行它。 但它返回bash: heroku: command not found

  4. 由於 windows 不支持 Gunicorn(Fastapi 需要),因此我也無法執行heroku run local

我的 proctfile 看起來像這樣

web: gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app -p $PORT

我的完整錯誤日志

2022-07-21T08:53:20.000000+00:00 app[api]: Build succeeded
2022-07-21T08:53:26.112645+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=myapp-api.herokuapp.com request_id=9efd5f28-4aa3-4aac-91b0-bc89b8da1d1b fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https
2022-07-21T08:53:26.949447+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=myapp-api.herokuapp.com request_id=b03f8ca4-63e3-48c7-9349-2339fa0a4dc7 fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https
2022-07-21T08:54:12.000000+00:00 app[api]: Build started by user dummyuserid
2022-07-21T08:54:35.485193+00:00 app[api]: Release v14 created by user dummyuserid
2022-07-21T08:54:35.485193+00:00 app[api]: Deploy 6d456f91 by user dummyuserid
2022-07-21T08:54:37.460184+00:00 heroku[worker.1]: State changed from crashed to down
2022-07-21T08:54:45.000000+00:00 app[api]: Build succeeded
2022-07-21T08:55:08.908036+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=myapp-api.herokuapp.com request_id=5f961c83-9dfd-4346-9511-420cbd0bee6e fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https
2022-07-21T08:55:09.686828+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=myapp-api.herokuapp.com request_id=062ef29f-c702-4963-8eb6-4ec09a9c1d7d fwd="103.99.148.171" dyno= connect= service= status=503 bytes= protocol=https

我發現錯誤在 Procfile 中。 將 Procfile 更改為

web uvicorn main:app --host=0.0.0.0 --port=${PORT:-5000}

然后它起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM