X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fcron.php;h=0e587784404bb515b71f3960a00b5c9c2b6925be;hb=0cd9db9cb7f4c96f597e37590a536eaae123238d;hp=bac9c8a3d8827e40b678dde262aeaeedbd3e9120;hpb=7a9456d5ac2e73229b2237074c700731c63661a6;p=friendica.git diff --git a/include/cron.php b/include/cron.php index bac9c8a3d8..0e58778440 100644 --- a/include/cron.php +++ b/include/cron.php @@ -82,6 +82,9 @@ function cron_run(&$argv, &$argc){ proc_run(PRIORITY_MEDIUM, 'include/dbclean.php'); proc_run(PRIORITY_LOW, "include/cronjobs.php", "update_photo_albums"); + + // Delete all done workerqueue entries + dba::e('DELETE FROM `workerqueue` WHERE `done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 12 HOUR'); } // Poll contacts @@ -122,6 +125,8 @@ function cron_poll_contacts($argc, $argv) { $force = true; } + $min_poll_interval = Config::get('system', 'min_poll_interval', 1); + $sql_extra = (($manual_id) ? " AND `id` = $manual_id " : ""); reload_plugins(); @@ -184,7 +189,7 @@ function cron_poll_contacts($argc, $argv) { $contact['priority'] = 2; } - if ($contact['subhub'] AND in_array($contact['network'], array(NETWORK_DFRN, NETWORK_ZOT, NETWORK_OSTATUS))) { + if ($contact['subhub'] && in_array($contact['network'], array(NETWORK_DFRN, NETWORK_ZOT, NETWORK_OSTATUS))) { /* * We should be getting everything via a hub. But just to be sure, let's check once a day. * (You can make this more or less frequent if desired by setting 'pushpoll_frequency' appropriately) @@ -195,7 +200,7 @@ function cron_poll_contacts($argc, $argv) { $contact['priority'] = (($poll_interval !== false) ? intval($poll_interval) : 3); } - if ($contact['priority'] AND !$force) { + if (($contact['priority'] >= 0) && !$force) { $update = false; $t = $contact['last-update']; @@ -225,11 +230,16 @@ function cron_poll_contacts($argc, $argv) { } break; case 1: - default: if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + 1 hour")) { $update = true; } break; + case 0: + default: + if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + ".$min_poll_interval." minute")) { + $update = true; + } + break; } if (!$update) { continue; @@ -238,11 +248,12 @@ function cron_poll_contacts($argc, $argv) { logger("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact["nick"] . " " . $contact["name"]); - if (($contact['network'] == NETWORK_FEED) AND ($contact['priority'] <= 3)) { - proc_run(PRIORITY_MEDIUM, 'include/onepoll.php', intval($contact['id'])); + if (($contact['network'] == NETWORK_FEED) && ($contact['priority'] <= 3)) { + $priority = PRIORITY_MEDIUM; } else { - proc_run(PRIORITY_LOW, 'include/onepoll.php', intval($contact['id'])); + $priority = PRIORITY_LOW; } + proc_run(array('priority' => $priority, 'dont_fork' => true), 'include/onepoll.php', intval($contact['id'])); } } }