mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-23 00:13:35 +01:00
* exceptions in async jobs no longer stop other jobs
This commit is contained in:
parent
3c8abc1971
commit
8db999925d
@ -31,7 +31,7 @@ class asyncservice
|
|||||||
var $debug = 0;
|
var $debug = 0;
|
||||||
/**
|
/**
|
||||||
* Line in crontab set by constructor with absolute path
|
* Line in crontab set by constructor with absolute path
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $cronline = '/phpgwapi/cron/asyncservices.php default';
|
var $cronline = '/phpgwapi/cron/asyncservices.php default';
|
||||||
@ -414,8 +414,7 @@ class asyncservice
|
|||||||
|
|
||||||
if ($lang != $GLOBALS['egw_info']['user']['preferences']['common']['lang'])
|
if ($lang != $GLOBALS['egw_info']['user']['preferences']['common']['lang'])
|
||||||
{
|
{
|
||||||
unset($GLOBALS['lang']);
|
translation::init();
|
||||||
translation::add_app('common');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -430,8 +429,15 @@ class asyncservice
|
|||||||
{
|
{
|
||||||
$job['data'] += array_diff_key($job,array('data' => false));
|
$job['data'] += array_diff_key($job,array('data' => false));
|
||||||
}
|
}
|
||||||
ExecMethod($job['method'],$job['data']);
|
try
|
||||||
|
{
|
||||||
|
ExecMethod($job['method'],$job['data']);
|
||||||
|
}
|
||||||
|
catch(Exception $e)
|
||||||
|
{
|
||||||
|
// log the exception to error_log, but continue running other async jobs
|
||||||
|
_egw_log_exception($e);
|
||||||
|
}
|
||||||
// re-read job, in case it had been updated or even deleted in the method
|
// re-read job, in case it had been updated or even deleted in the method
|
||||||
$updated = $this->read($id);
|
$updated = $this->read($id);
|
||||||
if ($updated && isset($updated[$id]))
|
if ($updated && isset($updated[$id]))
|
||||||
|
Loading…
Reference in New Issue
Block a user