return;
}
+ // Do we have "proc_open"? Then we can fork the poller
+ if (function_exists("proc_open")) {
+ // When was the last time that we called the poller?
+ // Less than 5 minutes? Then we quit
+ if ((time() - get_config("system", "proc_run_started")) < 300) {
+ return;
+ }
+
+ // Remove long running and crashed process entries
+ poller_kill_stale_workers();
+
+ // Do we have an already running worker? Then we quit here.
+ if (poller_active_workers() > 0) {
+ return;
+ }
+
+ get_app()->proc_run(array('php', 'include/poller.php'));
+ }
+
+ // We cannot execute background processes.
+ // We now run the processes from the frontend.
+ // This won't work with long running processes.
poller_run_cron();
clear_worker_processes();
return;
}
+ // We don't need the following lines if we can execute background jobs
+ if (function_exists("proc_open")) {
+ return;
+ }
+
clear_worker_processes();
$workers = q("SELECT COUNT(*) AS `processes` FROM `process` WHERE `command` = 'worker.php'");