通常,只要run()调用返回非零退出代码,Fabric就会退出。但是,对于某些电话,这是预期的。例如,当PNGOut无法压缩文件时,它将返回错误代码2。
目前,我只能通过使用shell逻辑(do_something_that_fails || true
或do_something_that_fails || do_something_else
)来规避此限制,但我希望能够将逻辑保留在纯Python中(Fabric承诺)。
有没有一种方法可以检查错误代码并对错误代码做出反应,而不是让Fabric死机而死?我仍然希望其他呼叫具有默认行为,因此通过修改环境来更改其行为似乎不是一个好选择(据我所知,您只能使用它来警告它而不是死亡)。