【发布时间】:2016-09-16 09:09:59
【问题描述】:
使用heroku CLI 可以像这样缩放测功机:
$ heroku ps:scale web=1
但我希望能够从 在我的节点应用程序中扩展测功机(在 heroku 上运行,所以我不能只使用上述命令 exec,因为 CLI 不可用),例如动态响应负载变化。
我对 heroku client 包有点熟悉,但看不出它如何用于测功缩放。
【问题讨论】:
标签: heroku
使用heroku CLI 可以像这样缩放测功机:
$ heroku ps:scale web=1
但我希望能够从 在我的节点应用程序中扩展测功机(在 heroku 上运行,所以我不能只使用上述命令 exec,因为 CLI 不可用),例如动态响应负载变化。
我对 heroku client 包有点熟悉,但看不出它如何用于测功缩放。
【问题讨论】:
标签: heroku
所以好奇心占了上风,我似乎已经为自己的问题找到了答案……
关键是使用Heroku API,在我的问题中提到的使用heroku-client包在节点应用程序中访问它。
Heroku API 有一个Formation Update 接口,允许您设置网络测功机的规模(或数量)。
以下示例将 web dyno 缩放为 2:
var Heroku = require('heroku-client');
var heroku = new Heroku({ token: process.env.HEROKU_API_TOKEN });
heroku.patch('/apps/yourappname/formation/web', { body: {"quantity": 2} }).then(response => {
console.log('patch response: ' + JSON.stringify(response));
});
...yourappname 当然是您应用的名称。
【讨论】: