]> git.mxchange.org Git - friendica.git/blobdiff - bin/daemon.php
Add posix_kill() SIGTERM for Friendica
[friendica.git] / bin / daemon.php
index b7085a490a2679f2012382c6be7c0f12e4449468..e550aea891ed157adad7b585019598a68dab80b5 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env php
 <?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
  *
@@ -33,6 +33,7 @@ if (php_sapi_name() !== 'cli') {
 use Dice\Dice;
 use Friendica\App\Mode;
 use Friendica\Core\Logger;
+use Friendica\Core\Update;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
@@ -63,7 +64,6 @@ $dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['daemon']])
 
 DI::init($dice);
 \Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
-$a = DI::app();
 
 if (DI::mode()->isInstall()) {
        die("Friendica isn't properly installed yet.\n");
@@ -71,13 +71,13 @@ if (DI::mode()->isInstall()) {
 
 DI::mode()->setExecutor(Mode::DAEMON);
 
-DI::config()->load();
+DI::config()->reload();
 
 if (empty(DI::config()->get('system', 'pidfile'))) {
        die(<<<TXT
 Please set system.pidfile in config/local.config.php. For example:
-    
-    'system' => [ 
+
+    'system' => [
         'pidfile' => '/path/to/daemon.pid',
     ],
 TXT
@@ -126,7 +126,7 @@ if ($mode == 'status') {
 
        unlink($pidfile);
 
-       DI::config()->set('system', 'worker_daemon_mode', false);
+       DI::keyValue()->set('worker_daemon_mode', false);
        die("Daemon process $pid isn't running.\n");
 }
 
@@ -193,6 +193,9 @@ $last_cron = 0;
 
 // Now running as a daemon.
 while (true) {
+       // Check the database structure and possibly fixes it
+       Update::check(DI::basePath(), true);
+
        if (!$do_cron && ($last_cron + $wait_interval) < time()) {
                Logger::info('Forcing cron worker call.', ['pid' => $pid]);
                $do_cron = true;
@@ -244,5 +247,6 @@ while (true) {
 }
 
 function shutdown() {
+       posix_kill(posix_getpid(), SIGTERM);
        posix_kill(posix_getpid(), SIGHUP);
 }