Class: SqsImageProcessor::Manager
- Inherits:
-
Thor
- Object
- Thor
- SqsImageProcessor::Manager
- Defined in:
- lib/sqs_image_processor/manager.rb
Overview
Main interface to the application. Provides 4 commands to the user.
-
start
-
stop
-
status
-
generate_config
Instance Method Summary collapse
Instance Method Details
#generate_config ⇒ Object
64 65 66 |
# File 'lib/sqs_image_processor/manager.rb', line 64 def generate_config SqsImageProcessor::Generators.config_generator end |
#start ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/sqs_image_processor/manager.rb', line 22 def start config_path = [:c] daemonize = [:d] child_pids = [] if !File.exists?(config_path) puts "Error: Config file not found." elsif SqsImageProcessor::ProcessManager.is_running? puts "Error: An instance of SqsImageProcessor is already running." else Process.daemon if daemonize SqsImageProcessor::ProcessManager.generate_pid_file config = SqsImageProcessor::Config.load( config_path ) puts "Loaded config file at #{config_path}." puts "Starting SQS Image Processor." 4.times do fork do SqsImageProcessor::Worker.start( config ) end end Process.waitall end end |
#status ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/sqs_image_processor/manager.rb', line 54 def status if SqsImageProcessor::ProcessManager.is_running? puts "Running with PID #{SqsImageProcessor::ProcessManager.get_pid}." else puts "Not running." end end |
#stop ⇒ Object
48 49 50 |
# File 'lib/sqs_image_processor/manager.rb', line 48 def stop SqsImageProcessor::ProcessManager.kill end |