Class: TheMechanic2::RailsRunnerService
- Inherits:
-
Object
- Object
- TheMechanic2::RailsRunnerService
- Defined in:
- lib/the_mechanic_2/rails_runner_service.rb
Overview
Service for spawning Rails runner processes to execute benchmark code Each benchmark runs in a completely isolated Rails environment
Defined Under Namespace
Classes: BenchmarkError, BenchmarkTimeout
Instance Method Summary collapse
-
#execute(code:, shared_setup: nil, timeout: 30) ⇒ Hash
Executes benchmark code in a separate Rails runner process.
Instance Method Details
#execute(code:, shared_setup: nil, timeout: 30) ⇒ Hash
Executes benchmark code in a separate Rails runner process
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/the_mechanic_2/rails_runner_service.rb', line 20 def execute(code:, shared_setup: nil, timeout: 30) script_file = create_script(code, shared_setup) begin stdout, stderr, status = spawn_runner(script_file.path, timeout) parse_output(stdout, stderr, status) ensure script_file.close script_file.unlink end end |