Class: ReactEmailRails::RenderModes::Persistent::CommandRunner
- Inherits:
-
Object
- Object
- ReactEmailRails::RenderModes::Persistent::CommandRunner
- Defined in:
- lib/react_email_rails/render_modes/persistent/command_runner.rb
Class Method Summary collapse
- .capture(command, input:, timeout:, max_requests: nil) ⇒ Object
- .healthy?(command, timeout:) ⇒ Boolean
- .stop_all ⇒ Object
Class Method Details
.capture(command, input:, timeout:, max_requests: nil) ⇒ Object
3 4 5 |
# File 'lib/react_email_rails/render_modes/persistent/command_runner.rb', line 3 def capture(command, input:, timeout:, max_requests: nil) server_for(command).capture(input:, timeout:, max_requests:) end |
.healthy?(command, timeout:) ⇒ Boolean
7 8 9 10 11 12 |
# File 'lib/react_email_rails/render_modes/persistent/command_runner.rb', line 7 def healthy?(command, timeout:) result = server_for(command).health_check(timeout:) result.status.success? && ReactEmailRails::RenderProtocol.compatible_response?(JSON.parse(result.stdout)) rescue StandardError false end |
.stop_all ⇒ Object
14 15 16 17 18 19 |
# File 'lib/react_email_rails/render_modes/persistent/command_runner.rb', line 14 def stop_all @mutex&.synchronize do @servers&.each_value(&:stop) @servers&.clear end end |