我正在开发 Sidekiq唯一目的是进行几个长时间运行的系统调用。我有以下要求:
- 能够设置环境变量
- 实时输出(stdout、stderr)流
- 阻塞线程直到完成
- 获取退出代码
- 线程安全,因为 sidekiq 是多线程的(读取:没有
$?
)
我正在 Ruby 1.9.2 上运行。感谢您的投入!
最佳答案
$?
(以及大多数其他“神奇”变量,如 $1
等)是当前线程的本地变量,因此使用 system
并且 $?
是完全线程安全的并且满足您的所有标准。
关于ruby - Ruby 中灵活的系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9441532/