WIP: schedulers..
This commit is contained in:
@@ -106,7 +106,6 @@ class Scheduler extends SugarBean {
|
||||
*/
|
||||
function fire() {
|
||||
if(empty($this->job)) { // only execute when valid
|
||||
$GLOBALS['log']->fatal('Scheduler tried to fire an empty job!!');
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -126,16 +125,18 @@ class Scheduler extends SugarBean {
|
||||
$job->retrieve($jobId);
|
||||
|
||||
if($exJob[0] == 'function') {
|
||||
$GLOBALS['log']->debug('----->Scheduler found a job of type FUNCTION');
|
||||
|
||||
require_once('modules/Schedulers/_AddJobsHere.php');
|
||||
|
||||
$job->setJobFlag(1);
|
||||
|
||||
$func = $exJob[1];
|
||||
$GLOBALS['log']->debug('----->SchedulersJob firing '.$func);
|
||||
|
||||
$GLOBALS['log']->bimit('Starting function', $job->scheduler->id, $job->scheduler->name, $func);
|
||||
|
||||
$res = call_user_func($func);
|
||||
if($res) {
|
||||
$GLOBALS['log']->bimit('Setting JOB as finished', $job->scheduler->id, $job->scheduler->name, $res);
|
||||
$job->setJobFlag(2);
|
||||
$job->finishJob();
|
||||
return true;
|
||||
@@ -340,21 +341,14 @@ class Scheduler extends SugarBean {
|
||||
$this->cleanJobLog();
|
||||
$allSchedulers = $this->get_full_list('', 'schedulers.status=\'Active\'');
|
||||
|
||||
|
||||
$GLOBALS['log']->info('-----> Scheduler found [ '.count($allSchedulers).' ] ACTIVE jobs');
|
||||
|
||||
if(!empty($allSchedulers)) {
|
||||
foreach($allSchedulers as $focus) {
|
||||
if($focus->fireQualified()) {
|
||||
if($focus->fire()) {
|
||||
$GLOBALS['log']->debug('----->Scheduler Job completed successfully');
|
||||
} else {
|
||||
$GLOBALS['log']->fatal('----->Scheduler Job FAILED');
|
||||
}
|
||||
$GLOBALS['log']->bimit('Starting job', $focus->id, $focus->name);
|
||||
$res = $focus->fire();
|
||||
$GLOBALS['log']->bimit('Finished job', $focus->id, $focus->name, $res);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$GLOBALS['log']->debug('----->No Schedulers found');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user