如何使用heroku gem重新启动Heroku worker

sam*_*tte 21 heroku

我正在努力寻找如何调用等效的(取自本文):

heroku restart worker.1
Run Code Online (Sandbox Code Playgroud)

使用heroku宝石.我看到有restartps_restart方法,但没有看到我可以指定只重新启动这个1工人而不是整个应用程序.

Gul*_*ull 48

这是重启任何特定进程的命令

heroku ps:restart worker.1 --app APP_NAME
Run Code Online (Sandbox Code Playgroud)


ram*_*igg 15

我正在使用cron从应用程序内部重新启动特定工作程序.像这样:

heroku = Heroku::Client.new(ENV['APP_USERNAME'], ENV['APP_PASSWORD'])
heroku.ps_restart(ENV['APP_NAME'], :ps =>'worker.1')
Run Code Online (Sandbox Code Playgroud)

来自Heroku API Doc


mpo*_*sot 5

使用"heroku-api"宝石,而不是"heroku"宝石.使用"heroku"gem这种方式仍然有效(截至今天),但已被弃用.它意味着通过控制台使用.

https://github.com/heroku/heroku.rb

api gem看起来很容易使用.从heroku网站获取API密钥,将其放入app app变量中,然后调用:

require 'heroku-api'
heroku.post_ps_restart('app', 'ps' => 'web.1')   # restart 'web.1' process for 'app' app
Run Code Online (Sandbox Code Playgroud)