]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Worker.php
Merge remote-tracking branch 'upstream/develop' into mod-item
[friendica.git] / src / Core / Worker.php
index 92725240ea5f7d47dd3b3c63de91cadf22b54857..90bce0a88e5807df6fa0f9eed52829c6f4440fef 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -331,7 +331,7 @@ class Worker
                $mypid = getmypid();
 
                // Quit when in maintenance
-               if (DI::config()->get('system', 'maintenance', false, true)) {
+               if (DI::config()->get('system', 'maintenance', false)) {
                        Logger::notice('Maintenance mode - quit process', ['pid' => $mypid]);
                        return false;
                }
@@ -574,7 +574,7 @@ class Worker
                                // No need to defer a worker queue entry if the arguments are invalid
                                Logger::notice('Wrong worker arguments', ['class' => $funcname, 'argv' => $argv, 'queue' => $queue, 'message' => $e->getMessage()]);
                        } catch (\Throwable $e) {
-                               Logger::error('Uncaught exception in worker execution', ['class' => get_class($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTraceAsString()]);
+                               Logger::error('Uncaught exception in worker execution', ['class' => get_class($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTraceAsString(), 'previous' => $e->getPrevious()]);
                                Worker::defer();
                        }
                } else {
@@ -1315,8 +1315,8 @@ class Worker
                        return $added;
                }
 
-               // Quit on daemon mode
-               if (Worker\Daemon::isMode()) {
+               // Quit on daemon mode, except the priority is critical (like for db updates)
+               if (Worker\Daemon::isMode() && $priority !== self::PRIORITY_CRITICAL) {
                        return $added;
                }