X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FExpire.php;h=7c304a5b249227f5bcb11a3e4313107993128e02;hb=bf8fb215a9cc554b5ec5b774168a52fb56fa43e6;hp=d68ba24ed18d674df55dd9496463357c444555c6;hpb=af88c2daa34e39cb6430abf64d0648665bfeb9cd;p=friendica.git diff --git a/src/Worker/Expire.php b/src/Worker/Expire.php index d68ba24ed1..7c304a5b24 100644 --- a/src/Worker/Expire.php +++ b/src/Worker/Expire.php @@ -1,12 +1,26 @@ . + * */ namespace Friendica\Worker; -use Friendica\Core\Config; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Worker; @@ -14,6 +28,9 @@ use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; +/** + * Expires old item entries + */ class Expire { public static function execute($param = '', $hook_function = '') @@ -26,26 +43,22 @@ class Expire Logger::log('Delete expired items', Logger::DEBUG); // physically remove anything that has been deleted for more than two months $condition = ["`deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY"]; - $rows = DBA::select('item', ['id'], $condition); + $rows = DBA::select('item', ['id', 'guid'], $condition); while ($row = DBA::fetch($rows)) { + Logger::info('Delete expired item', ['id' => $row['id'], 'guid' => $row['guid']]); DBA::delete('item', ['id' => $row['id']]); } DBA::close($rows); // Normally we shouldn't have orphaned data at all. // If we do have some, then we have to check why. - Logger::log('Deleting orphaned item activities - start', Logger::DEBUG); - $condition = ["NOT EXISTS (SELECT `iaid` FROM `item` WHERE `item`.`iaid` = `item-activity`.`id`)"]; - DBA::delete('item-activity', $condition); - Logger::log('Orphaned item activities deleted: ' . DBA::affectedRows(), Logger::DEBUG); - Logger::log('Deleting orphaned item content - start', Logger::DEBUG); $condition = ["NOT EXISTS (SELECT `icid` FROM `item` WHERE `item`.`icid` = `item-content`.`id`)"]; DBA::delete('item-content', $condition); Logger::log('Orphaned item content deleted: ' . DBA::affectedRows(), Logger::DEBUG); // make this optional as it could have a performance impact on large sites - if (intval(Config::get('system', 'optimize_items'))) { + if (intval(DI::config()->get('system', 'optimize_items'))) { DBA::e("OPTIMIZE TABLE `item`"); }