我正在使用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
。
答案 0 :(得分:0)
Heroku不支持从一次性dyno中检索退出代码。实现此目的的一种方法是使用my_command; echo $?
,然后手动解析退出代码。 This gem有一个插件可以做到这一点。