Class: Pindo::TaskSystem::StdoutRedirector
- Inherits:
-
Object
- Object
- Pindo::TaskSystem::StdoutRedirector
- Defined in:
- lib/pindo/module/task/output/stdout_redirector.rb
Overview
Stdout 重定向器用于在任务执行期间捕获标准输出和标准错误,将其路由到输出管理器
Class Method Summary collapse
-
.redirect_for_task(task_id, output_manager) { ... } ⇒ Object
为任务重定向 stdout/stderr.
Class Method Details
.redirect_for_task(task_id, output_manager) { ... } ⇒ Object
为任务重定向 stdout/stderr
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/pindo/module/task/output/stdout_redirector.rb', line 10 def self.redirect_for_task(task_id, output_manager) # 保存原始 stdout/stderr original_stdout = $stdout original_stderr = $stderr begin # 重定向到自定义 IO $stdout = CustomIO.new(task_id, output_manager, :stdout) $stderr = CustomIO.new(task_id, output_manager, :stderr) yield ensure # 恢复原始 stdout/stderr $stdout = original_stdout $stderr = original_stderr end end |