]> git.mxchange.org Git - friendica.git/blobdiff - mod/worker.php
Merge pull request #3613 from annando/some-ostatus
[friendica.git] / mod / worker.php
index 9d0902bf3666a2270c3273ccd48928d3f8305bd4..947656ab7c2eebd4bab04384b906c939544ede6d 100644 (file)
@@ -5,8 +5,8 @@
  */
 require_once("include/poller.php");
 
-use \Friendica\Core\Config;
-use \Friendica\Core\PConfig;
+use Friendica\Core\Config;
+use Friendica\Core\PConfig;
 
 function worker_init($a){
 
@@ -14,8 +14,10 @@ function worker_init($a){
                return;
        }
 
-       // We don't need the following lines if we can execute background jobs
+       // 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;
        }
 
@@ -39,11 +41,15 @@ function worker_init($a){
                // 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]);
+               if (poller_claim_process($r[0])) {
+                       poller_execute($r[0]);
+               }
        }
 
        call_worker();
 
+       poller_unclaim_process();
+
        $a->end_process();
 
        logger("Front end worker ended: ".getmypid());