我有一個在Heroku上託管的NodeJS應用程序。有沒有辦法讓我每小時自動運行「heroku restart」命令?自動重啓Heroku NodeJS應用程序
,我發現這個答案,但它看起來像它是一個Rails項目:Restart my heroku application automatically
我有一個在Heroku上託管的NodeJS應用程序。有沒有辦法讓我每小時自動運行「heroku restart」命令?自動重啓Heroku NodeJS應用程序
,我發現這個答案,但它看起來像它是一個Rails項目:Restart my heroku application automatically
沒錯,使用Heroku SDK for Node.js。
喜歡的東西:
heroku.apps('my-app').dynos().restartAll()
應該做的伎倆。所有的dyno文檔可以在這裏找到:https://github.com/heroku/node-heroku-client/blob/master/docs/dyno.md。您可以使用Heroku調度程序運行計劃的腳本。
但是我必須警告你,這當然不是做任何你想做的事的最好方法。如果你提供更多的洞察你的問題,我相信我們可以建議一些比重新開始你的dynos更合適的東西。
使用Heroku v3 API可以使用request node module
var token = 'youAPIKeyHere';
var appName = 'yourAppName here';
var dynoName = 'yourDynoHere';
var request = require('request');
request.delete(
{
url: 'https://api.heroku.com/apps/' + appName + '/dynos/',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/vnd.heroku+json; version=3',
'Authorization': 'Bearer ' + token
}
},
function(error, response, body) {
// Do stuff
}
);
還有一個node wrapper,它提供了類似的經歷,但不良記錄,並要求v3 API的理解反正
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));
我也是基恩d是有用的瀏覽器嘗試使用此代碼
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
方法時應小心謹慎,並且僅用/apps/$$appName$$
端點將刪除該應用程序。這是從個人的經驗
對於上述的任何的,如果你省略了賽道的名字,你會重新啓動所有DYNOS應用下
The other question引用的是不再支持回購
非常感謝,安德魯 - 這對我有效。這只是暫時的解決方案,直到我們發現問題出在哪裏。管理搞清楚了! –