diff options
| author | 2014-01-04 01:47:07 +0100 | |
|---|---|---|
| committer | 2014-01-04 01:47:07 +0100 | |
| commit | d7c929e53b889460cd416d2864563e16200d2a01 (patch) | |
| tree | b91657455d48fa31aaa9b0bc6d8828db3622db1d /app/actualize_script.php | |
| parent | cf8b3d080942ad682665569250038eda494d346b (diff) | |
| parent | c80ab2af7e0f6de4acf6dc02fab208d7b5baff45 (diff) | |
Merge remote-tracking branch 'origin/dev' into beta
Diffstat (limited to 'app/actualize_script.php')
| -rwxr-xr-x | app/actualize_script.php | 62 |
1 files changed, 53 insertions, 9 deletions
diff --git a/app/actualize_script.php b/app/actualize_script.php index 20438128a..9ac80a852 100755 --- a/app/actualize_script.php +++ b/app/actualize_script.php @@ -1,15 +1,59 @@ <?php require(dirname(__FILE__) . '/../constants.php'); -$_GET['c'] = 'feed'; -$_GET['a'] = 'actualize'; -$_GET['force'] = true; -$_SERVER['HTTP_HOST'] = ''; +//<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_NOTICE, 'FreshRSS actualize already running?'); + fwrite(STDERR, 'FreshRSS actualize already running?' . "\n"); + 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 -$front_controller = new FreshRSS (); -$front_controller->init (); -Minz_Session::_param('mail', true); // permet de se passer de la phase de connexion -$front_controller->run (); -invalidateHttpCache(); +session_cache_limiter(''); +ob_implicit_flush(false); +ob_start(); +echo 'Results: ', "\n"; //Buffered + +Minz_Configuration::init(); + +$users = listUsers(); +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); + fwrite(STDOUT, 'Actualize ' . $myUser . "...\n"); //Unbuffered + echo $myUser, ' '; //Buffered + + $_GET['c'] = 'feed'; + $_GET['a'] = 'actualize'; + $_GET['ajax'] = 1; + $_GET['force'] = true; + $_SERVER['HTTP_HOST'] = ''; + + $freshRSS = new FreshRSS(); + $freshRSS->_useOb(false); + + Minz_Session::init('FreshRSS'); + Minz_Session::_param('currentUser', $myUser); + + $freshRSS->init(); + $freshRSS->run(); + + invalidateHttpCache(); + Minz_Session::unset_session(true); + Minz_ModelPdo::clean(); +} +syslog(LOG_INFO, 'FreshRSS actualize done.'); +ob_end_flush(); +fwrite(STDOUT, 'Done.' . "\n"); |
