]> git.mxchange.org Git - friendica.git/blobdiff - include/cron.php
Doxygen structure added
[friendica.git] / include / cron.php
index 02e53a9bba00ec9838ac4b249781d3c85fbb22d8..c60284b738a7d819f4c6f6e4601b7517a4032eb4 100644 (file)
@@ -34,22 +34,17 @@ function cron_run(&$argv, &$argc){
        require_once('include/Contact.php');
        require_once('include/email.php');
        require_once('include/socgraph.php');
-       require_once('include/pidfile.php');
        require_once('mod/nodeinfo.php');
 
        load_config('config');
        load_config('system');
 
-       $maxsysload = intval(get_config('system','maxloadavg'));
-       if($maxsysload < 1)
-               $maxsysload = 50;
-
-       $load = current_load();
-       if($load) {
-               if(intval($load) > $maxsysload) {
-                       logger('system: load ' . $load . ' too high. cron deferred to next scheduled run.');
+       // Don't check this stuff if the function is called by the poller
+       if (App::callstack() != "poller_run") {
+               if (App::maxload_reached())
+                       return;
+               if (App::is_already_running('cron', 'include/cron.php', 540))
                        return;
-               }
        }
 
        $last = get_config('system','last_cron');
@@ -66,23 +61,6 @@ function cron_run(&$argv, &$argc){
                }
        }
 
-       $lockpath = get_lockpath();
-       if ($lockpath != '') {
-               $pidfile = new pidfile($lockpath, 'cron');
-               if($pidfile->is_already_running()) {
-                       logger("cron: Already running");
-                       if ($pidfile->running_time() > 9*60) {
-                               $pidfile->kill();
-                               logger("cron: killed stale process");
-                               // Calling a new instance
-                               proc_run('php','include/cron.php');
-                       }
-                       exit;
-               }
-       }
-
-
-
        $a->set_baseurl(get_config('system','url'));
 
        load_hooks();
@@ -93,10 +71,6 @@ function cron_run(&$argv, &$argc){
 
        proc_run('php',"include/queue.php");
 
-       // run diaspora photo queue process in the background
-
-       proc_run('php',"include/dsprphotoq.php");
-
        // run the process to discover global contacts in the background
 
        proc_run('php',"include/discover_poco.php");
@@ -127,10 +101,10 @@ function cron_run(&$argv, &$argc){
 
        // Check OStatus conversations
        // Check only conversations with mentions (for a longer time)
-       check_conversations(true);
+       ostatus::check_conversations(true);
 
        // Check every conversation
-       check_conversations(false);
+       ostatus::check_conversations(false);
 
        // Set the gcontact-id in the item table if missing
        item_set_gcontact();
@@ -379,7 +353,7 @@ function cron_clear_cache(&$a) {
                        continue;
 
                // Calculate fragmentation
-               $fragmentation = $table["Data_free"] / $table["Data_length"];
+               $fragmentation = $table["Data_free"] / ($table["Data_length"] + $table["Index_length"]);
 
                logger("Table ".$table["Name"]." - Fragmentation level: ".round($fragmentation * 100, 2), LOGGER_DEBUG);
 
@@ -430,7 +404,6 @@ function cron_repair_database() {
        q("UPDATE `item` INNER JOIN `item` AS `parent` ON `parent`.`uri` = `item`.`parent-uri` AND `parent`.`uid` = `item`.`uid` SET `item`.`parent` = `parent`.`id` WHERE `item`.`parent` = 0");
 
        /// @todo
-       /// - remove duplicated contacts with uid=0 (We could do this at the place where the contacts are stored)
        /// - remove thread entries without item
        /// - remove sign entries without item
        /// - remove children when parent got lost