我正在Heroku上使用Node.js开发REST API,其中一个驱动程序出现了问题(我已经向驱动程序的创建者报告了),但是每隔半小时左右重新启动dynos似乎可以解决这个问题。 我希望你们能帮我编写一个计划程序或类似的脚本,以便每10分钟自动重新启动dynos作为临时解决方案。
p.s. 我查看了调度程序文档,但没有太多意义。
谢谢!
我正在Heroku上使用Node.js开发REST API,其中一个驱动程序出现了问题(我已经向驱动程序的创建者报告了),但是每隔半小时左右重新启动dynos似乎可以解决这个问题。 我希望你们能帮我编写一个计划程序或类似的脚本,以便每10分钟自动重新启动dynos作为临时解决方案。
p.s. 我查看了调度程序文档,但没有太多意义。
谢谢!
@rdegges提供的步骤需要在请求中添加额外的身份验证令牌。以下是更多细节:
使用Heroku CLI创建身份验证令牌,按照Heroku 平台API中提到的命令运行:
heroku authorizations:create
将Heroku Scheduler 插件安装到您的Heroku应用程序中。
打开scheduler并转到添加作业。 在作业编辑器中输入以下命令。 此命令执行重启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应用程序日志中验证计划任务是否按照设置的时间运行。
您可以通过以下步骤完成您的请求:
在您的项目中创建一个脚本,向Heroku平台API发出请求以重新启动您的Dyno。 API调用文档可以在此处找到:https://devcenter.heroku.com/articles/platform-api-reference#dyno-restart-all
预置Heroku Scheduler附加组件。
进入Heroku Scheduler的Web UI,并告诉它每小时(或适合您的时间段)运行您的重启脚本。
这是实现此目标的最佳'实用'方法。