如何访问heroku one-off dyno的退出代码?

时间:2017-09-15 06:22:48

标签: ruby-on-rails ruby heroku

我正在使用heroku的平台API + rendezvous客户端来执行命令并检索它的输出+退出代码。

def run_command(heroku_client, app_name, command)
  dyno = heroku_client.dyno.create(app_name, command: command, attach: true)

  rendezvous_url = dyno["attach_url"]

  rz = Rendezvous.new({
    input:StringIO.new,
    output:StringIO.new,
    url: rendezvous_url
  })

  rz.start # Blocks until the command completes

  rz.output.rewind
  rz.output.readlines.join
end

我可以很好地获取输出,如上所示。我找不到访问退出代码的方法。我尝试在流程退出后从API中提取dyno.info,但我得到404

1 个答案:

答案 0 :(得分:0)

Heroku不支持从一次性dyno中检索退出代码。实现此目的的一种方法是使用my_command; echo $?,然后手动解析退出代码。 This gem有一个插件可以做到这一点。