2016-03-11 120 views

回答

1

沒錯,使用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更合適的東西。

+0

非常感謝,安德魯 - 這對我有效。這只是暫時的解決方案,直到我們發現問題出在哪裏。管理搞清楚了! –

0

使用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引用的是不再支持回購