【问题标题】:Schedule Heroku to restart dynos every 10 or so minutes安排 Heroku 每 10 分钟左右重新启动一次测功机
【发布时间】:2017-10-11 02:59:42
【问题描述】:

我正在 Heroku 上使用 Node.js 开发一个 REST api,其中一个驱动程序给我带来了问题(我已经向驱动程序创建者报告了这一点),但基本上每半小时左右重新启动一次测功机似乎解决这个问题。 我希望你们都可以帮助我为调度程序编写脚本或类似的东西,以每隔 10 分钟左右自动重新启动测功机作为临时修复。

附言我查看了调度程序文档,但没有多大意义

谢谢!

【问题讨论】:

标签: node.js heroku scripting


【解决方案1】:

@rdegges 提供的步骤需要在请求中添加额外的身份验证令牌。添加更多细节:

  1. 通过运行Heroku platform API 中提到的此命令,使用 Heroku CLI 创建身份验证令牌

    heroku authorizations:create

  2. 将 Heroku Scheduler add-on 安装到您的 Heroku 应用程序中。

  3. 打开调度程序并去添加作业。在作业编辑器中输入以下命令。该命令执行restart the dyno

`

curl -n -X DELETE https://api.heroku.com/apps/APP_NAME/dynos \n -H "Content-Type: application/json" \n -H "Accept: application/vnd.heroku+json; version=3" \n -H "Authorization: Bearer TokenCreatedInStep1"

在 Heroku 应用程序日志中验证调度程序作业是否在设定的时间运行。

【讨论】:

    【解决方案2】:

    您可以通过执行以下操作来满足您的要求:

    • 在您的项目中创建一个脚本,该脚本发出 Heroku 平台 API 请求以重新启动您的测功机。 API 调用文档可以在这里找到:https://devcenter.heroku.com/articles/platform-api-reference#dyno-restart-all

    • 提供 Heroku Scheduler 插件。

    • 进入 Heroku Scheduler 的 Web UI,并告诉它每小时(或任何适合您的时间段)运行您的重启脚本。

    这是实现这一目标的最佳“务实”方式。

    【讨论】:

    • 好主意。它有效,但需要身份验证令牌。所以在我的答案中添加了步骤。
    猜你喜欢
    • 2021-02-26
    • 2015-08-31
    • 2012-02-08
    • 2023-03-31
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多