]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/Cron.php
Replace worker_daemon_mode config entry with key-value entry
[friendica.git] / src / Worker / Cron.php
index d450f4cd5b19a478e5f41cfc673ffc7d17e61368..055a9b4354ed66556ac450bee8e19c4b391e58c4 100644 (file)
@@ -27,9 +27,9 @@ use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Tag;
-use Friendica\Model\User;
 use Friendica\Protocol\ActivityPub\Queue;
 use Friendica\Protocol\Relay;
+use Friendica\Util\DateTimeFormat;
 
 class Cron
 {
@@ -37,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'));
 
@@ -84,7 +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
@@ -105,7 +105,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
@@ -136,19 +136,21 @@ class Cron
                                Worker::add(Worker::PRIORITY_LOW, 'OptimizeTables');
                        }
 
-                       foreach (User::getList(1, PHP_INT_MAX, 'active') as $user) {
+                       $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());
+                       DI::keyValue()->set('last_cron_daily', time());
                }
 
                Logger::notice('end');
 
-               DI::config()->set('system', 'last_cron', time());
+               DI::keyValue()->set('last_cron', time());
        }
 
        /**