]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/Cron.php
version 2021.03-dev
[friendica.git] / src / Worker / Cron.php
index 2a2e5e57a902d0d35a8aae199c91a8bf6076fa7a..1901766d3ac1d4d341f69322388c902ae8704b44 100644 (file)
@@ -25,6 +25,7 @@ use Friendica\Core\Hook;
 use Friendica\Core\Logger;
 use Friendica\Core\Worker;
 use Friendica\DI;
+use Friendica\Model\Tag;
 
 class Cron
 {
@@ -54,13 +55,16 @@ class Cron
                }
 
                // Fork the cron jobs in separate parts to avoid problems when one of them is crashing
-               Hook::fork($a->queue['priority'], 'cron');
+               Hook::fork(PRIORITY_MEDIUM, 'cron');
 
                // Poll contacts
                Worker::add(PRIORITY_MEDIUM, 'PollContacts');
 
                // Update contact information
-               Worker::add(PRIORITY_LOW, 'UpdatePublicContacts');              
+               Worker::add(PRIORITY_LOW, 'UpdateContacts');
+
+               // Update server information
+               Worker::add(PRIORITY_LOW, 'UpdateGServers');
 
                // run the process to update server directories in the background
                Worker::add(PRIORITY_LOW, 'UpdateServerDirectories');
@@ -71,19 +75,20 @@ class Cron
                // Call possible post update functions
                Worker::add(PRIORITY_LOW, 'PostUpdate');
 
-               // Repair entries in the database
-               Worker::add(PRIORITY_LOW, 'RepairDatabase');
-
                // Hourly cron calls
                if (DI::config()->get('system', 'last_cron_hourly', 0) + 3600 < time()) {
 
+                       // Update trending tags cache for the community page
+                       Tag::setLocalTrendingHashtags(24, 20);
+                       Tag::setGlobalTrendingHashtags(24, 20);
+
                        // Search for new contacts in the directory
                        if (DI::config()->get('system', 'synchronize_directory')) {
                                Worker::add(PRIORITY_LOW, 'PullDirectory');
                        }
 
                        // Delete all done workerqueue entries                  
-                       Worker::add(PRIORITY_LOW, 'ClearWorkerqueue');
+                       Worker::add(PRIORITY_LOW, 'CleanWorkerQueue');
 
                        // Clear cache entries
                        Worker::add(PRIORITY_LOW, 'ClearCache');
@@ -91,8 +96,8 @@ class Cron
                        DI::config()->set('system', 'last_cron_hourly', time());
                }
 
-               // Daily cron calls
-               if (DI::config()->get('system', 'last_cron_daily', 0) + 86400 < time()) {
+               // Daily maintenance cron calls
+               if (Worker::isInMaintenanceWindow(true)) {
 
                        Worker::add(PRIORITY_LOW, 'UpdateContactBirthdays');
 
@@ -101,20 +106,25 @@ class Cron
                        // update nodeinfo data
                        Worker::add(PRIORITY_LOW, 'NodeInfo');
 
-                       Worker::add(PRIORITY_LOW, 'UpdateGServers');
+                       // Repair entries in the database
+                       Worker::add(PRIORITY_LOW, 'RepairDatabase');
 
                        Worker::add(PRIORITY_LOW, 'Expire');
 
-                       Worker::add(PRIORITY_MEDIUM, 'DBClean');
+                       Worker::add(PRIORITY_LOW, 'ExpirePosts');
 
                        Worker::add(PRIORITY_LOW, 'ExpireConversations');
 
                        Worker::add(PRIORITY_LOW, 'CleanItemUri');
 
+                       Worker::add(PRIORITY_LOW, 'RemoveUnusedContacts');
+
+                       Worker::add(PRIORITY_LOW, 'RemoveUnusedAvatars');
+
                        // check upstream version?
                        Worker::add(PRIORITY_LOW, 'CheckVersion');
 
-                       Worker::add(PRIORITY_LOW, 'CheckdeletedContacts');
+                       Worker::add(PRIORITY_LOW, 'CheckDeletedContacts');
 
                        if (DI::config()->get('system', 'optimize_tables')) {
                                Worker::add(PRIORITY_LOW, 'OptimizeTables');