class Flatware::CLI
shared flatware cli
Public Class Methods
processors()
click to toggle source
# File lib/flatware/cli.rb, line 10 def self.processors @processors ||= Etc.nprocessors end
worker_option()
click to toggle source
# File lib/flatware/cli.rb, line 14 def self.worker_option method_option( :workers, aliases: '-w', type: :numeric, default: processors, desc: 'Number of concurrent processes to run' ) end
Public Instance Methods
clear()
click to toggle source
# File lib/flatware/cli.rb, line 48 def clear (Flatware.pids - [Process.pid]).each do |pid| Process.kill 6, pid end end
fan(*command)
click to toggle source
# File lib/flatware/cli.rb, line 33 def fan(*command) Flatware.verbose = options[:log] command = command.join(' ') puts "Running '#{command}' on #{workers} workers" workers.times do |i| fork do exec({ 'TEST_ENV_NUMBER' => i.to_s }, command) end end Process.waitall end
Private Instance Methods
start_sink(jobs:, workers:, formatter:)
click to toggle source
# File lib/flatware/cli.rb, line 56 def start_sink(jobs:, workers:, formatter:) $0 = 'flatware sink' try_setpgrp passed = Sink.start_server( jobs: jobs, formatter: Flatware::Broadcaster.new([formatter]), sink: options['sink-endpoint'], worker_count: workers ) exit passed ? 0 : 1 end
try_setpgrp()
click to toggle source
# File lib/flatware/cli.rb, line 69 def try_setpgrp Process.setpgrp rescue Errno::EPERM => e Flatware.log 'continuing after: Process.setpgrp:', e.message end
workers()
click to toggle source
# File lib/flatware/cli.rb, line 75 def workers options[:workers] end