WIP: schedulers..

This commit is contained in:
2025-10-08 15:53:45 +00:00
parent f440223a26
commit cf65b86547
11 changed files with 54 additions and 59 deletions

View File

@@ -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');
}
}