Class: ReactEmailRails::RenderModes::Persistent::CommandRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/react_email_rails/render_modes/persistent/command_runner.rb

Class Method Summary collapse

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

Returns:

  • (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_allObject



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