Method: RunInBackground.run

Defined in:
lib/run_in_background.rb

.run(&b) ⇒ Object



397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
# File 'lib/run_in_background.rb', line 397

def RunInBackground.run &b
  case Params['bg_command']
    when nil
      yield b
    when 'start'
      # To prevent service enter loop cause of background parameter
      # all options that points to run in background must be disabled
      # (for more information see documentation for RunInBackground::start!)
      Params['bg_command'] = nil
      RunInBackground.prepare_argv

      begin
        RunInBackground.start! Params['service_name']
      rescue Exception => e
        Log.error("Start service command failed: #{e.message}")
        raise
      end
    when 'delete'
      if RunInBackground.exists? Params['service_name']
        RunInBackground.delete Params['service_name']
      else
        msg = "Can't delete. Service #{Params['service_name']} already deleted"
        puts msg
        Log.warning(msg)
      end
    else
    msg = "Unsupported command #{Params['bg_command']}. Supported commands are: start, delete"
      puts msg
      Log.error(msg)
  end
nil 
end