我正在Heroku上开发一个带有Node.js的REST api,其中一个驱动程序给我带来了问题(我已经向驱动程序创建者报告了),但基本上每半小时左右重新启动一次dynos似乎解决这个问题。 我希望所有人都可以帮我编写调度程序或类似的脚本,每10分钟左右自动重启一次dynos作为临时修复。
P.S。我查看了调度程序文档,但它没有多大意义
谢谢!
答案 0 :(得分:8)
@rdegges提供的步骤在请求中需要其他身份验证令牌。添加更多详细信息:
heroku authorizations:create
将Heroku Scheduler add-on安装到您的Heroku应用程序中。
打开计划程序,然后添加作业。在作业编辑器中输入以下命令。此命令执行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应用程序日志中进行验证。
答案 1 :(得分:1)
您可以通过执行以下操作来执行您的要求:
在项目中创建一个脚本,该脚本发出Heroku Platform API请求以重新启动dynos。可以在此处找到API调用文档:https://devcenter.heroku.com/articles/platform-api-reference#dyno-restart-all
配置Heroku Scheduler插件。
进入Heroku Scheduler的网页用户界面,告诉它每小时(或任何适合您的时间段)运行重启脚本。
这是实现这一目标的最佳“实用”方式。