src/commands/ps/restart.js
'use strict'
let cli = require('heroku-cli-util')
let co = require('co')
function * run (context, heroku) {
let app = context.app
let dyno = context.args.dyno
let msg = 'Restarting'
if (dyno) msg += ` ${cli.color.cyan(dyno)}`
msg += (dyno && dyno.indexOf('.') !== -1) ? ' dyno' : ' dynos'
msg += ` on ${cli.color.app(app)}`
yield cli.action(msg, co(function * () {
yield heroku.delete(dyno ? `/apps/${app}/dynos/${encodeURIComponent(dyno)}` : `/apps/${app}/dynos`)
}))
}
let cmd = {
description: 'restart app dynos',
help: 'if DYNO is not specified, restarts all dynos on app',
examples: `$ heroku ps:restart web.1
Restarting web.1 dyno... done
$ heroku ps:restart web
Restarting web dynos... done
$ heroku ps:restart
Restarting dynos... done`,
needsAuth: true,
needsApp: true,
args: [{name: 'dyno', optional: true}],
run: cli.command(co.wrap(run))
}
module.exports = [
Object.assign({topic: 'ps', command: 'restart'}, cmd),
Object.assign({topic: 'dyno', command: 'restart'}, cmd),
Object.assign({topic: 'restart', hidden: true}, cmd)
]