Node.js 在nodejs中重新启动heroku dyno
我想重新启动nodejs应用程序以更改其ip。我将如何在应用程序本身中做到这一点?我尝试过强制崩溃,但是如果应用程序在十分钟内崩溃两次,heroku将在第一次崩溃十分钟后重新启动dyno。如果安装了heroku CLI,您可以在应用程序文件夹中运行Node.js 在nodejs中重新启动heroku dyno,node.js,heroku,Node.js,Heroku,我想重新启动nodejs应用程序以更改其ip。我将如何在应用程序本身中做到这一点?我尝试过强制崩溃,但是如果应用程序在十分钟内崩溃两次,heroku将在第一次崩溃十分钟后重新启动dyno。如果安装了heroku CLI,您可以在应用程序文件夹中运行heroku restart,或者运行heroku restart--app application\u name 如果您没有安装它,您可以找到有关它的信息。查看V3API和API命令的节点包装器 如果真的需要从应用程序本身内部执行,您可能需要创建某种
heroku restart
,或者运行heroku restart--app application\u name
如果您没有安装它,您可以找到有关它的信息。查看V3API和API命令的节点包装器
如果真的需要从应用程序本身内部执行,您可能需要创建某种触发此操作的条件。您可以从heroku的web仪表板上重新启动nodejs dynos: 仪表板->更多->重新启动所有dynos 使用可以使用
还有一种方法提供了类似的体验,但记录得很差,而且无论如何都需要了解
我还发现在浏览器中使用此代码进行实验很有用
var token = 'youAPIKeyHere';
var appName = 'yourAppName here';
var dynoName = 'yourDynoHere';
var xhr = new XMLHttpRequest();
xhr.open(
'DELETE',
'https://api.heroku.com/apps/' + appName + '/dynos/' + dynoName
);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Accept', 'application/vnd.heroku+json; version=3');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.onload = function() {
console.log(xhr.response);
};
xhr.send();
- 我个人确实觉得使用delete方法有点令人担忧。使用
方法时应小心,仅delete
端点将删除该应用。这是个人经历/apps/$$appName$$
- 对于上述任何一种情况,如果您省略dyno名称,您将重新启动应用程序下的所有dyno
var token = 'youAPIKeyHere';
var appName = 'yourAppName here';
var dynoName = 'yourDynoHere';
var Heroku = require('heroku-client');
var heroku = new Heroku({ token: token });
heroku .delete('/apps/' + appName + '/dynos/' + dynoName)
.then( x => console.log(x) );
var token = 'youAPIKeyHere';
var appName = 'yourAppName here';
var dynoName = 'yourDynoHere';
var xhr = new XMLHttpRequest();
xhr.open(
'DELETE',
'https://api.heroku.com/apps/' + appName + '/dynos/' + dynoName
);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Accept', 'application/vnd.heroku+json; version=3');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.onload = function() {
console.log(xhr.response);
};
xhr.send();