]> git.mxchange.org Git - friendica.git/commitdiff
Bugfix: In the daemon mode we forgot to call the cron jobs
authorMichael <heluecht@pirati.ca>
Wed, 6 Jun 2018 03:48:04 +0000 (03:48 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 6 Jun 2018 03:48:04 +0000 (03:48 +0000)
bin/daemon.php
src/Core/Worker.php

index 8ba86b3de08ce29b4ce6a2f476a7b1283e9afbfb..185e0671a0868fad448c33ec6ec675cc40ed22be 100755 (executable)
@@ -126,16 +126,25 @@ file_put_contents($pidfile, $pid);
 
 $wait_interval = intval(Config::get('system', 'cron_interval', 5)) * 60;
 
+$do_cron = true;
+
 // Now running as a daemon.
 while (true) {
-       logger('Call the worker', LOGGER_DEBUG);
-       Worker::spawnWorker();
+       Worker::spawnWorker($do_cron);
 
-       logger("Sleep for $wait_interval seconds - or when a worker needs to be called", LOGGER_DEBUG);
+       logger("Sleeping", LOGGER_DEBUG);
        $i = 0;
        do {
                sleep(1);
        } while (($i++ < $wait_interval) && !Worker::IPCJobsExists());
+
+       if ($i >= $wait_interval) {
+               $do_cron = true;
+               logger("Woke up after $wait_interval seconds.", LOGGER_DEBUG);
+       } else {
+               $do_cron = false;
+               logger("Worker jobs are calling to be forked.", LOGGER_DEBUG);
+       }
 }
 
 function shutdown() {
index 5ca815a7aea8a9a85b41e642e2c9d70187c0b35f..4539dcc84372a36fcc5ae2eac2791254e8ace480 100644 (file)
@@ -1015,9 +1015,14 @@ class Worker
         * @brief Spawns a new worker
         * @return void
         */
-       public static function spawnWorker()
+       public static function spawnWorker($do_cron = false)
        {
-               $args = ["bin/worker.php", "no_cron"];
+               $args = ["bin/worker.php"];
+
+               if (!$do_cron) {
+                       $args[] = "no_cron";
+               }
+
                get_app()->proc_run($args);
        }