diff options
| author | 2014-01-02 14:38:06 +0100 | |
|---|---|---|
| committer | 2014-01-02 14:38:06 +0100 | |
| commit | 3b23ca881c63fe6e1cc8ef98ae5a5af645d4870a (patch) | |
| tree | 37c6d537a254ddebd7cc42f8e6aca9a7792558f7 /app/actualize_script.php | |
| parent | c3211f1b686147229b640b35feb9be49c58b1708 (diff) | |
Mutex pour actualize_script
Nouveau fichier temporaire ./data/actualize.lock.txt
Diffstat (limited to 'app/actualize_script.php')
| -rwxr-xr-x | app/actualize_script.php | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/app/actualize_script.php b/app/actualize_script.php index e0f995afe..6009ad849 100755 --- a/app/actualize_script.php +++ b/app/actualize_script.php @@ -1,7 +1,19 @@ <?php require(dirname(__FILE__) . '/../constants.php'); -//TODO: check if already running +//<Mutex> +$lock = DATA_PATH . '/actualize.lock.txt'; +if (file_exists($lock) && ((time() - @filemtime($lock)) > 3600)) { + @unlink($lock); +} +if (($handle = @fopen($lock, 'x')) === false) { + syslog(LOG_INFO, 'FreshRSS actualize already running?'); + return; +} +register_shutdown_function('unlink', $lock); +//Could use http://php.net/function.pcntl-signal.php to catch interruptions +@fclose($handle); +//</Mutex> require(LIB_PATH . '/lib_rss.php'); //Includes class autoloader @@ -10,8 +22,12 @@ ob_implicit_flush(false); ob_start(); echo 'Results: ', "\n"; //Buffered +Minz_Configuration::init(); + $users = listUsers(); -shuffle($users); +shuffle($users); //Process users in random order +array_unshift($users, Minz_Configuration::defaultUser()); //But always start with admin +$users = array_unique($users); foreach ($users as $myUser) { syslog(LOG_INFO, 'FreshRSS actualize ' . $myUser); |
