pass logfile to child tasks if locking is possible, lock logfile before writing, add kludge to prevent update_rss_feed unneeded debugging go into master logfile
This commit is contained in:
parent
f73e03e000
commit
a33558a61e
|
@ -139,6 +139,8 @@
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function _debug($msg, $show = true) {
|
function _debug($msg, $show = true) {
|
||||||
|
if (defined('SUPPRESS_DEBUGGING'))
|
||||||
|
return false;
|
||||||
|
|
||||||
$ts = strftime("%H:%M:%S", time());
|
$ts = strftime("%H:%M:%S", time());
|
||||||
if (function_exists('posix_getpid')) {
|
if (function_exists('posix_getpid')) {
|
||||||
|
@ -153,7 +155,29 @@
|
||||||
$fp = fopen(LOGFILE, 'a+');
|
$fp = fopen(LOGFILE, 'a+');
|
||||||
|
|
||||||
if ($fp) {
|
if ($fp) {
|
||||||
|
$locked = false;
|
||||||
|
|
||||||
|
if (function_exists("flock")) {
|
||||||
|
$tries = 0;
|
||||||
|
|
||||||
|
// try to lock logfile for writing
|
||||||
|
while ($tries < 5 && !$locked = flock($fp, LOCK_EX | LOCK_NB)) {
|
||||||
|
sleep(1);
|
||||||
|
++$tries;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$locked) {
|
||||||
|
fclose($fp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fputs($fp, "[$ts] $msg\n");
|
fputs($fp, "[$ts] $msg\n");
|
||||||
|
|
||||||
|
if (function_exists("flock")) {
|
||||||
|
flock($fp, LOCK_UN);
|
||||||
|
}
|
||||||
|
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,6 +194,8 @@
|
||||||
|
|
||||||
$debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
|
$debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
|
||||||
|
|
||||||
|
if (!$debug_enabled) define('SUPPRESS_DEBUGGING', true);
|
||||||
|
|
||||||
_debug("start", $debug_enabled);
|
_debug("start", $debug_enabled);
|
||||||
|
|
||||||
$result = db_query("SELECT id,update_interval,auth_login,
|
$result = db_query("SELECT id,update_interval,auth_login,
|
||||||
|
|
|
@ -218,10 +218,11 @@
|
||||||
register_shutdown_function('task_shutdown');
|
register_shutdown_function('task_shutdown');
|
||||||
|
|
||||||
$quiet = (isset($options["quiet"])) ? "--quiet" : "";
|
$quiet = (isset($options["quiet"])) ? "--quiet" : "";
|
||||||
|
$log = function_exists("flock") && isset($options['log']) ? '--log '.$options['log'] : '';
|
||||||
|
|
||||||
$my_pid = posix_getpid();
|
$my_pid = posix_getpid();
|
||||||
|
|
||||||
passthru(PHP_EXECUTABLE . " update.php --daemon-loop $quiet --task $j --pidlock $my_pid");
|
passthru(PHP_EXECUTABLE . " update.php --daemon-loop $quiet $log --task $j --pidlock $my_pid");
|
||||||
|
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue