]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/Cron.php
Fix Mastodon InstanceV2 structure needs image max size under mediaAttachment
[friendica.git] / src / Worker / Cron.php
index 21d2f8a20560fcb95804a5e7a45cdfdba477257a..a232834bcd27c66e0e32c69e8c6b62392f1ed3f6 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
  *
@@ -29,6 +29,7 @@ use Friendica\DI;
 use Friendica\Model\Tag;
 use Friendica\Protocol\ActivityPub\Queue;
 use Friendica\Protocol\Relay;
+use Friendica\Util\DateTimeFormat;
 
 class Cron
 {
@@ -36,7 +37,7 @@ class Cron
        {
                $a = DI::app();
 
-               $last = DI::config()->get('system', 'last_cron');
+               $last = DI::keyValue()->get('last_cron');
 
                $poll_interval = intval(DI::config()->get('system', 'cron_interval'));
 
@@ -83,8 +84,7 @@ class Cron
                Worker::add(Worker::PRIORITY_LOW, 'PostUpdate');
 
                // Hourly cron calls
-               if (DI::config()->get('system', 'last_cron_hourly', 0) + 3600 < time()) {
-
+               if ((DI::keyValue()->get('last_cron_hourly') ?? 0) + 3600 < time()) {
                        // Update trending tags cache for the community page
                        Tag::setLocalTrendingHashtags(24, 20);
                        Tag::setGlobalTrendingHashtags(24, 20);
@@ -103,7 +103,7 @@ class Cron
                        // Clear cache entries
                        Worker::add(Worker::PRIORITY_LOW, 'ClearCache');
 
-                       DI::config()->set('system', 'last_cron_hourly', time());
+                       DI::keyValue()->set('last_cron_hourly', time());
                }
 
                // Daily maintenance cron calls
@@ -128,19 +128,30 @@ class Cron
 
                        Worker::add(Worker::PRIORITY_LOW, 'CheckDeletedContacts');
 
+                       Worker::add(Worker::PRIORITY_LOW, 'UpdateAllSuggestions');
+
                        if (DI::config()->get('system', 'optimize_tables')) {
                                Worker::add(Worker::PRIORITY_LOW, 'OptimizeTables');
                        }
 
+                       $users = DBA::select('owner-view', ['uid'], ["`homepage_verified` OR (`last-activity` > ? AND `homepage` != ?)", DateTimeFormat::utc('now - 7 days', 'Y-m-d'), '']);
+                       while ($user = DBA::fetch($users)) {
+                               Worker::add(Worker::PRIORITY_LOW, 'CheckRelMeProfileLink', $user['uid']);
+                       }
+                       DBA::close($users);
+
                        // Resubscribe to relay servers
                        Relay::reSubscribe();
 
-                       DI::config()->set('system', 'last_cron_daily', time());
+                       // Update "blocked" status of servers
+                       Worker::add(Worker::PRIORITY_LOW, 'UpdateBlockedServers');
+
+                       DI::keyValue()->set('last_cron_daily', time());
                }
 
                Logger::notice('end');
 
-               DI::config()->set('system', 'last_cron', time());
+               DI::keyValue()->set('last_cron', time());
        }
 
        /**
@@ -151,7 +162,7 @@ class Cron
        private static function deleteSleepingProcesses()
        {
                Logger::info('Looking for sleeping processes');
-               
+
                $processes = DBA::p("SHOW FULL PROCESSLIST");
                while ($process = DBA::fetch($processes)) {
                        if (($process['Command'] != 'Sleep') || ($process['Time'] < 300) || ($process['db'] != DBA::databaseName())) {