X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FCron.php;h=210abfcecf6b747a08a24d1eafbc3ddfda6ed05a;hb=81c9d8d479f7357a1e0a77c40ffde170b39f4960;hp=18d9de5920a56425b4fb0d15f2e18b475eb19309;hpb=9f96f3ef347e44851a265b1d99e5bb6cf2f4514b;p=friendica.git diff --git a/src/Worker/Cron.php b/src/Worker/Cron.php index 18d9de5920..210abfcecf 100644 --- a/src/Worker/Cron.php +++ b/src/Worker/Cron.php @@ -1,6 +1,6 @@ get('system', 'delete_sleeping_processes')) { + self::deleteSleepingProcesses(); + } + // Fork the cron jobs in separate parts to avoid problems when one of them is crashing Hook::fork(PRIORITY_MEDIUM, 'cron'); @@ -103,19 +108,13 @@ class Cron Worker::add(PRIORITY_LOW, 'UpdatePhotoAlbums'); - // update nodeinfo data - Worker::add(PRIORITY_LOW, 'NodeInfo'); - - // Repair entries in the database - Worker::add(PRIORITY_LOW, 'RepairDatabase'); - - Worker::add(PRIORITY_LOW, 'Expire'); - 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'); @@ -133,4 +132,25 @@ class Cron DI::config()->set('system', 'last_cron', time()); } + + /** + * Kill sleeping database processes + * + * @return void + */ + 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())) { + continue; + } + + DBA::e("KILL ?", $process['Id']); + Logger::notice('Killed sleeping process', ['id' => $process['Id']]); + } + DBA::close($processes); + } }