我有点困惑,因为heroku API中曾经有一种方法可以重新启动应用程序的进程。现在,此API似乎已被弃用,所有链接都指向https://devcenter.heroku.com/articles/platform-api-reference,在这里我找不到有关重启的任何信息(甚至单词restart本身)。
有人可以阐明一下吗?我相信,这与显示日志一样,对于开发人员来说是最重要的API命令之一,因为您可以通过heroku webui来执行大多数其他任务。
您可以使用heroku platform-api来执行此操作。api有一个dyno重新启动方法。。这是如何处理rake任务的示例。
首先,您需要设置凭据。从您的开发机器
$ heroku plugins:install heroku-cli-oauth
Run Code Online (Sandbox Code Playgroud)
然后
$ heroku authorizations:create -d "Platform API token"
Run Code Online (Sandbox Code Playgroud)
这将输出许多字段,包括令牌字段。复制令牌值,例如abc-def。然后
heroku config:set OAUTH_TOKEN=abc-def
Run Code Online (Sandbox Code Playgroud)
在生产机器上设置OAUTH_TOKEN值。您的瑞克任务可能看起来像这样:
desc 'heroku_restart'
task heroku_restart: :environment do
heroku = PlatformAPI.connect_oauth(ENV['OAUTH_TOKEN'])
dynos = heroku.dyno.list(ENV['HEROKU_APP_NAME'])
heroku.dyno.restart(ENV['HEROKU_APP_NAME'], dynos[0]['name'])
end
Run Code Online (Sandbox Code Playgroud)
这将重新启动dynos列表中的第一个dyno。现在提交此更改并将其部署到生产中,您的rake任务已准备就绪。
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |