diff --git a/deploy/common/katello-jobs.init b/deploy/common/katello-jobs.init index ed14369f1b7..2b773032ee4 100755 --- a/deploy/common/katello-jobs.init +++ b/deploy/common/katello-jobs.init @@ -76,34 +76,43 @@ status_of_one() { } kstatus() { - local SECONDVAL - local RC + RETVAL=0 + SECONDVAL=256 if [ 0$KATELLO_JOB_WORKERS -eq 1 ]; then echo -n "delayed_job is " status_of_one $KATELLO_PID_DIR/delayed_job.pid - RETVAL=$? - SECONDVAL=$? + RC=$? + RETVAL=$( print_higher $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) echo -n "delayed_job_monitor is " status_of_one $KATELLO_PID_DIR/delayed_job_monitor.pid RC=$? RETVAL=$( print_higher $RC $RETVAL ) - SECONDVAL=$( print_lower $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) else - RETVAL=0 - SECONDVAL=0 for i in $( seq 0 $(($KATELLO_JOB_WORKERS - 1)) ); do echo -n "delayed_job $i is " status_of_one $KATELLO_PID_DIR/delayed_job.$i.pid RC=$? RETVAL=$( print_higher $RC $RETVAL ) - SECONDVAL=$( print_lower $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) echo -n "delayed_job_monitor $i is " status_of_one $KATELLO_PID_DIR/delayed_job.${i}_monitor.pid RC=$? RETVAL=$( print_higher $RC $RETVAL ) - SECONDVAL=$( print_lower $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) done fi + echo -n "dynflow_executor is " + status_of_one $KATELLO_PID_DIR/dynflow_executor.pid + RC=$? + RETVAL=$( print_higher $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) + echo -n "dynflow_executor_monitor is " + status_of_one $KATELLO_PID_DIR/dynflow_executor_monitor.pid + RC=$? + RETVAL=$( print_higher $RC $RETVAL ) + SECONDVAL=$( print_lower $RC $SECONDVAL ) if [ 0$SECONDVAL -eq 0 -a 0$RETVAL -gt 0 ]; then # some is running, some not return 10 @@ -170,6 +179,16 @@ stop() { KATELLO_LOGGING='$KATELLO_LOGGING' \ KATELLO_LOGGING_SQL='$KATELLO_LOGGING_SQL' \ $JOB_SCRIPT $KATELLO_JOB_PARAMS -m -n $KATELLO_JOB_WORKERS stop &>>/var/log/foreman/jobs-startup.log" + if [ -f $KATELLO_PID_DIR/dynflow_executor_monitor.pid ]; then + echo -n $"Stopping dynflow_executor_monitor: " + killproc -p $KATELLO_PID_DIR/dynflow_executor_monitor.pid + echo + fi + if [ -f $KATELLO_PID_DIR/dynflow_executor.pid ]; then + echo -n $"Stopping dynflow_executor: " + killproc -p $KATELLO_PID_DIR/dynflow_executor.pid + echo + fi if [ 0$KATELLO_JOB_WORKERS -eq 1 ]; then if [ -f $KATELLO_PID_DIR/delayed_job_monitor.pid ]; then echo -n $"Stopping delayed_job_monitor: " diff --git a/deploy/script/katello-jobs b/deploy/script/katello-jobs index d2603982a41..52d29f8c934 100644 --- a/deploy/script/katello-jobs +++ b/deploy/script/katello-jobs @@ -1,5 +1,9 @@ #!/usr/bin/env ruby -require "/usr/share/foreman/config/environment" +foreman_root = "/usr/share/foreman" +require File.expand_path('./config/application', foreman_root) +ForemanTasks::Dynflow::Daemon.new.run_background(ARGV.last, :foreman_root => foreman_root) + +require File.expand_path('./config/environment', foreman_root) require 'delayed/command' Delayed::Command.new(ARGV).daemonize diff --git a/script/delayed_job b/script/delayed_job index edf195985f6..535b992b244 100755 --- a/script/delayed_job +++ b/script/delayed_job @@ -1,5 +1,10 @@ #!/usr/bin/env ruby -require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) +foreman_root = Dir.pwd + +require File.expand_path('./config/application', foreman_root) +ForemanTasks::Dynflow::Daemon.new.run_background(ARGV.last, :foreman_root => foreman_root) + +require File.expand_path('./config/environment', foreman_root) require 'delayed/command' Delayed::Command.new(ARGV).daemonize