]> git.mxchange.org Git - friendica.git/blobdiff - mod/worker.php
Merge branch 'develop' into rewrites/dbm_is_result
[friendica.git] / mod / worker.php
index 1d1ab2af33d407a2f7cbabb10d372db4bc9731f0..c202a28d64d95feb1765485efad7733ab3fa96c3 100644 (file)
@@ -1,4 +1,8 @@
 <?php
+/**
+ * @file mod/worker.php
+ * @brief Module for running the poller as frontend process
+ */
 require_once("include/poller.php");
 
 use \Friendica\Core\Config;
@@ -6,7 +10,14 @@ use \Friendica\Core\PConfig;
 
 function worker_init($a){
 
-       if (!get_config("system", "frontend_worker")) {
+       if (!Config::get("system", "frontend_worker") OR !Config::get("system", "worker")) {
+               return;
+       }
+
+       // We don't need the following lines if we can execute background jobs.
+       // So we just wake up the worker if it sleeps.
+       if (function_exists("proc_open")) {
+               call_worker_if_idle();
                return;
        }
 
@@ -25,6 +36,11 @@ function worker_init($a){
        call_worker();
 
        if ($r = poller_worker_process()) {
+
+               // On most configurations this parameter wouldn't have any effect.
+               // But since it doesn't destroy anything, we just try to get more execution time in any way.
+               set_time_limit(0);
+
                poller_execute($r[0]);
        }