mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Fix error counting in cron
This commit is contained in:
parent
68b19462c3
commit
ddd60d1cd2
|
|
@ -439,7 +439,6 @@ class Cronjob extends CommonObject
|
|||
{
|
||||
while ($i < $num)
|
||||
{
|
||||
|
||||
$line = new Cronjobline();
|
||||
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
|
@ -480,7 +479,6 @@ class Cronjob extends CommonObject
|
|||
$this->lines[]=$line;
|
||||
|
||||
$i++;
|
||||
|
||||
}
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
|
|
|||
|
|
@ -125,19 +125,25 @@ if ($result<0)
|
|||
exit;
|
||||
}
|
||||
|
||||
$qualifiedjobs = array();
|
||||
foreach($object->lines as $val)
|
||||
{
|
||||
if (! verifCond($val->test)) continue;
|
||||
$qualifiedjobs[] = $val;
|
||||
}
|
||||
|
||||
// TODO Duplicate code. This sequence of code must be shared with code into cron_run_jobs.php script.
|
||||
|
||||
// current date
|
||||
$now=dol_now();
|
||||
$nbofjobs=count($object->lines);
|
||||
$nbofjobs=count($qualifiedjobs);
|
||||
$nbofjobslaunchedok=0;
|
||||
$nbofjobslaunchedko=0;
|
||||
|
||||
if (is_array($object->lines) && (count($object->lines)>0))
|
||||
if (is_array($qualifiedjobs) && (count($qualifiedjobs)>0))
|
||||
{
|
||||
// Loop over job
|
||||
foreach($object->lines as $line)
|
||||
foreach($qualifiedjobs as $line)
|
||||
{
|
||||
dol_syslog("cron_run_jobs.php cronjobid: ".$line->id, LOG_WARNING);
|
||||
|
||||
|
|
@ -150,16 +156,16 @@ if (is_array($object->lines) && (count($object->lines)>0))
|
|||
$result=$cronjob->fetch($line->id);
|
||||
if ($result<0)
|
||||
{
|
||||
echo "Error:".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php:: fetch Error".$cronjob->error, LOG_ERR);
|
||||
echo "Error cronjob->fetch: ".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php::fetch Error".$cronjob->error, LOG_ERR);
|
||||
exit;
|
||||
}
|
||||
// Execut job
|
||||
$result=$cronjob->run_jobs($userlogin);
|
||||
if ($result < 0)
|
||||
{
|
||||
echo "Error:".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php:: run_jobs Error".$cronjob->error, LOG_ERR);
|
||||
echo "Error cronjob->run_job: ".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php::run_jobs Error".$cronjob->error, LOG_ERR);
|
||||
$nbofjobslaunchedko++;
|
||||
}
|
||||
else
|
||||
|
|
@ -171,8 +177,8 @@ if (is_array($object->lines) && (count($object->lines)>0))
|
|||
$result=$cronjob->reprogram_jobs($userlogin, $now);
|
||||
if ($result<0)
|
||||
{
|
||||
echo "Error:".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php:: reprogram_jobs Error".$cronjob->error, LOG_ERR);
|
||||
echo "Error cronjob->reprogram_job: ".$cronjob->error."<br>\n";
|
||||
dol_syslog("cron_run_jobs.php::reprogram_jobs Error".$cronjob->error, LOG_ERR);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ if ($key != $conf->global->CRON_KEY)
|
|||
exit(-1);
|
||||
}
|
||||
|
||||
// If param userlogin is reserved word 'firstadmin'
|
||||
// If param userlogin is reserved word 'firstadmin'
|
||||
if ($userlogin == 'firstadmin')
|
||||
{
|
||||
$sql='SELECT login from '.MAIN_DB_PREFIX.'user WHERE admin = 1 and statut = 1 ORDER BY entity LIMIT 1';
|
||||
|
|
@ -87,7 +87,7 @@ if ($userlogin == 'firstadmin')
|
|||
if ($resql)
|
||||
{
|
||||
$obj=$db->fetch_object($resql);
|
||||
if ($obj)
|
||||
if ($obj)
|
||||
{
|
||||
$userlogin = $obj->login;
|
||||
echo "First admin user found is login '".$userlogin."'\n";
|
||||
|
|
@ -136,27 +136,37 @@ if ($result<0)
|
|||
exit(-1);
|
||||
}
|
||||
|
||||
$qualifiedjobs = array();
|
||||
foreach($object->lines as $val)
|
||||
{
|
||||
if (! verifCond($val->test)) continue;
|
||||
$qualifiedjobs[] = $val;
|
||||
}
|
||||
|
||||
// TODO This sequence of code must be shared with code into public/cron/cron_run_jobs.php php page.
|
||||
|
||||
// current date
|
||||
$now=dol_now();
|
||||
$nbofjobs=count($qualifiedjobs);
|
||||
$nbofjobslaunchedok=0;
|
||||
$nbofjobslaunchedko=0;
|
||||
|
||||
if(is_array($object->lines) && (count($object->lines)>0))
|
||||
if(is_array($qualifiedjobs) && (count($qualifiedjobs)>0))
|
||||
{
|
||||
// Loop over job
|
||||
foreach($object->lines as $line)
|
||||
foreach($qualifiedjobs as $line)
|
||||
{
|
||||
dol_syslog("cron_run_jobs.php cronjobid: ".$line->id, LOG_DEBUG);
|
||||
echo "cron_run_jobs.php cronjobid: ".$line->id."\n";
|
||||
|
||||
|
||||
//If date_next_jobs is less of current date, execute the program, and store the execution time of the next execution in database
|
||||
if (($line->datenextrun < $now) && (empty($line->datestart) || $line->datestart <= $now) && (empty($line->dateend) || $line->dateend >= $now))
|
||||
{
|
||||
dol_syslog("cron_run_jobs.php:: to run line->datenextrun:".dol_print_date($line->datenextrun,'dayhourrfc')." line->datestart:".dol_print_date($line->datestart,'dayhourrfc')." line->dateend:".dol_print_date($line->dateend,'dayhourrfc')." now:".dol_print_date($now,'dayhourrfc'));
|
||||
|
||||
|
||||
$cronjob=new Cronjob($db);
|
||||
$result=$cronjob->fetch($line->id);
|
||||
if ($result<0)
|
||||
if ($result < 0)
|
||||
{
|
||||
echo "Error cronjob->fetch: ".$cronjob->error."\n";
|
||||
echo "Failed to fetch job ".$line->id."\n";
|
||||
|
|
@ -165,18 +175,22 @@ if(is_array($object->lines) && (count($object->lines)>0))
|
|||
}
|
||||
// Execute job
|
||||
$result=$cronjob->run_jobs($userlogin);
|
||||
if ($result<0)
|
||||
if ($result < 0)
|
||||
{
|
||||
echo "Error cronjob->run_job: ".$cronjob->error."\n";
|
||||
echo "At least one job failed. Go on menu Home-Setup-Admin tools to see result for each job.\n";
|
||||
echo "You can also enable module Log if not yet enabled, run again and take a look into dolibarr.log file\n";
|
||||
dol_syslog("cron_run_jobs.php::run_jobs Error ".$cronjob->error, LOG_ERR);
|
||||
exit(-1);
|
||||
$nbofjobslaunchedko++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$nbofjobslaunchedok++;
|
||||
}
|
||||
|
||||
// we re-program the next execution and stores the last execution time for this job
|
||||
$result=$cronjob->reprogram_jobs($userlogin, $now);
|
||||
if ($result<0)
|
||||
if ($result<0)
|
||||
{
|
||||
echo "Error cronjob->reprogram_job: ".$cronjob->error."\n";
|
||||
echo "Enable module Log if not yet enabled, run again and take a look into dolibarr.log file\n";
|
||||
|
|
@ -194,6 +208,7 @@ if(is_array($object->lines) && (count($object->lines)>0))
|
|||
|
||||
$db->close();
|
||||
|
||||
if ($nbofjobslaunchedko) exit(1);
|
||||
exit(0);
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user