|
@@ -14,14 +14,23 @@ class TripalJobDaemon extends JobDaemon {
|
|
protected function job() {
|
|
protected function job() {
|
|
|
|
|
|
// First check to see if there are any tripal jobs to be run
|
|
// First check to see if there are any tripal jobs to be run
|
|
- $num_waiting_jobs = db_query('SELECT count(*) as count FROM {tripal_jobs} j WHERE j.pid IS NULL AND j.end_time IS NULL')->fetchField();
|
|
|
|
|
|
+ $waiting_jobs = db_query("SELECT count(*) as count, array_to_string(array_agg(j.job_id ORDER BY j.priority ASC, j.job_id ASC),'|') as jobs FROM {tripal_jobs} j WHERE j.pid IS NULL AND j.end_time IS NULL")->fetchObject();
|
|
|
|
+ $num_waiting_jobs = $waiting_jobs->count;
|
|
|
|
+ $job_ids = explode('|', $waiting_jobs->jobs);
|
|
|
|
|
|
// If there are then run them and log the output
|
|
// If there are then run them and log the output
|
|
if ($num_waiting_jobs > 0) {
|
|
if ($num_waiting_jobs > 0) {
|
|
- $this->log("$num_waiting_jobs Waiting Tripal Jobs... Running them now.");
|
|
|
|
|
|
+ $this->log("$num_waiting_jobs Waiting Tripal Jobs... Running waiting job(s) now.");
|
|
|
|
|
|
// Launch all tripal jobs :) Yay for bootstrapping!!
|
|
// Launch all tripal jobs :) Yay for bootstrapping!!
|
|
- tripal_launch_job();
|
|
|
|
|
|
+ foreach ($job_ids as $id) {
|
|
|
|
+ $this->log("Starting Job (ID=$id)","",1);
|
|
|
|
+ tripal_launch_job(FALSE, $id);
|
|
|
|
+
|
|
|
|
+ // Report job details
|
|
|
|
+ $job = db_query("SELECT j.* FROM {tripal_jobs} j WHERE j.job_id = :jid", array(':jid' => $id))->fetchObject();
|
|
|
|
+ $this->log("Job completed at ". date($job->end_time, 'd M Y H:i:s') . " with a status of '" . $job->status . "'","",1);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
$this->log('There are no Tripal Jobs to run');
|
|
$this->log('There are no Tripal Jobs to run');
|