【问题标题】:Heroku DIscord.js Typescript - bot works but build is stuck on pendingHeroku DIScord.js Typescript - 机器人工作但构建卡在待处理
【发布时间】:2021-07-15 01:28:13
【问题描述】:

所以我将我的 Discord.js(用 TypeScript 编写)机器人部署到 Heroku,该机器人可以工作,但构建被卡在待处理状态。以下是 Heroku 构建日志:


-----> Building on the Heroku-20 stack

-----> Determining which buildpack to use for this app

-----> Node.js app detected



       

-----> Creating runtime environment

       

       NPM_CONFIG_LOGLEVEL=error

       NODE_VERBOSE=false

       NODE_ENV=production

       NODE_MODULES_CACHE=true

       

-----> Installing binaries

       engines.node (package.json):  unspecified

       engines.npm (package.json):   unspecified (use default)

       

       Resolving node version 14.x...

       Downloading and installing node 14.16.1...

       Using default npm version: 6.14.12

       

-----> Installing dependencies

       Installing node modules

       

       > mybot@1.0.0 postinstall /tmp/build_525987f7

       > tsc

       

       added 20 packages in 6.722s

       

-----> Build

       Running build

       

       > mybot@1.0.0 build /tmp/build_525987f7

       > node dist/main.js

       

       Connected

“已连接”是我在机器人成功连接时发送的控制台日志消息。

这是我的 package.json 脚本

"scripts": {
    "dev": "tsc -w",
    "postinstall": "tsc",
    "start": "node dist/main.js",
    "start-dev": "nodemon dist/main.js",
    "build": "node dist/main.js"
  },

那么这里发生了什么?该机器人功能齐全,但构建被卡在待处理状态

编辑:好的,大约 1 小时后构建超时。但我设法让这一切正常工作。 首先,我将 package.json 脚本更改为:

 "scripts": {
    "start": "node dist/main.js",
    "build": "tsc"
  },

然后我在根目录中创建了一个 Procfile worker: npm start 这解决了所有问题。

【问题讨论】:

    标签: node.js typescript heroku discord.js


    【解决方案1】:

    我建议调试 websocket 连接并检查它在哪里超时。 为此,您可以使用以下内容:

    <client>.on("debug", (debug) => { 
    console.log(debug)
    });
    

    此外,Heroku 不适合使用大量适配器/依赖项(例如 ffmpegbetter-sqlite-3opus 等)的机器人。因此,如果您无法确定是什么中断了连接,请考虑切换主机。

    【讨论】:

    • 这是 Procfile 的问题,好吧,而不是没有,正如我在编辑中所写的那样,现在一切正常。是的,我知道 heroku 不是托管机器人的最佳选择,但我的机器人所做的只是从端点获取数据并显示它,我不需要太多。
    猜你喜欢
    • 2020-02-02
    • 2021-07-14
    • 2020-06-27
    • 2021-07-11
    • 2020-09-02
    • 2021-11-10
    • 1970-01-01
    • 2019-02-16
    • 2021-08-17
    相关资源
    最近更新 更多