即使在 Procfile 中添加了 Heroku 工人 dyno 也没有出现

Posted

技术标签:

【中文标题】即使在 Procfile 中添加了 Heroku 工人 dyno 也没有出现【英文标题】:Heroku worker dyno not showing up even though it is added in Procfile 【发布时间】:2020-11-17 07:08:35 【问题描述】:

我正在尝试设置 Heroku 来托管我的 Discord 机器人。我确信我已经正确设置了我的 Procfile,但是工作人员 dyno 没有出现在资源下。只有 web dyno 出现并且它不起作用,因为它在启动后立即崩溃并出现错误 R10。有人可以帮忙吗?

过程文件

worker: node index.js

package.json


  "name": "bot name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": 
    "start": "node index.js"
  ,
  "author": "author",
  "license": "ISC",
  "dependencies": 
    "discord.js": "^12.2.0"
  

日志

2020-07-28T17:03:18.000000+00:00 app[api]: Build started by user 
2020-07-28T17:03:42.000000+00:00 app[api]: Build succeeded
2020-07-28T16:58:24.618732+00:00 app[api]: Release v20 created by user
2020-07-28T16:58:24.897854+00:00 heroku[web.1]: State changed from crashed to starting
2020-07-28T16:58:27.754015+00:00 heroku[web.1]: Starting process with command `npm start`
2020-07-28T16:58:31.218171+00:00 app[web.1]: 
2020-07-28T16:58:31.218205+00:00 app[web.1]: > bot@0.9.0 start /app
2020-07-28T16:58:31.218206+00:00 app[web.1]: > node index.js
2020-07-28T16:58:31.218206+00:00 app[web.1]: 
2020-07-28T16:58:32.169174+00:00 app[web.1]: LOG> bot is now online!
2020-07-28T16:58:35.000000+00:00 app[api]: Build started by user 
2020-07-28T16:58:58.755714+00:00 heroku[web.1]: State changed from starting to down
2020-07-28T16:58:58.660155+00:00 app[api]: Deploy 643b70ba by user 
2020-07-28T16:58:58.660155+00:00 app[api]: Release v21 created by user 
2020-07-28T16:58:59.000000+00:00 app[api]: Build succeeded
2020-07-28T16:59:28.079035+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-07-28T16:59:28.102556+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-07-28T16:59:28.220163+00:00 heroku[web.1]: Process exited with status 137

【问题讨论】:

您的Procfile 是否在存储库的根目录中?您是否看到部署时发现的流程类型? @Chris 是的,Procfile 在我的存储库的根目录中。我不确定您所说的“正在发现的流程类型”是什么意思。 我的意思是,当你推送你的代码并且 Heroku 构建它时,会有一堆输出。您是否看到在该输出中发现了流程类型? @Chris 我用日志更新了我的帖子 那里几乎什么都没有。你还有更多吗?还是更详细的先前构建输出? 【参考方案1】:

我删除了所有内容并重新设置了所有内容,现在它似乎可以工作了。它可能无法正常工作,因为我没有 node_modules 文件夹,或者因为在第一次尝试设置机器人时发生了一些其他错误。

【讨论】:

【参考方案2】:
    转到您的 Heroku 应用 选择资源菜单 开启“worker:node index.js”,关闭“web npm start”

【讨论】:

以上是关于即使在 Procfile 中添加了 Heroku 工人 dyno 也没有出现的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 在错误的目录中寻找 Procfile

Heroku 服务器中 Procfile 和 Procfile.Windows 之间的区别

Python heroku -app 与 buildpack 不兼容

Heroku Gunicorn Procfile

Heroku中“Procfile声明类型->(无)”的原因是啥?

Heroku procfile“Procfile 中没有定义这样的进程类型 web”错误