use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Tag;
-use Friendica\Model\User;
use Friendica\Protocol\ActivityPub\Queue;
use Friendica\Protocol\Relay;
+use Friendica\Util\DateTimeFormat;
class Cron
{
{
$a = DI::app();
- $last = DI::config()->get('system', 'last_cron');
+ $last = DI::keyValue()->get('last_cron');
$poll_interval = intval(DI::config()->get('system', 'cron_interval'));
Worker::add(Worker::PRIORITY_LOW, 'PostUpdate');
// Hourly cron calls
- if (DI::config()->get('system', 'last_cron_hourly', 0) + 3600 < time()) {
+ if ((DI::keyValue()->get('last_cron_hourly') ?? 0) + 3600 < time()) {
// Update trending tags cache for the community page
// Clear cache entries
Worker::add(Worker::PRIORITY_LOW, 'ClearCache');
- DI::config()->set('system', 'last_cron_hourly', time());
+ DI::keyValue()->set('last_cron_hourly', time());
}
// Daily maintenance cron calls
Worker::add(Worker::PRIORITY_LOW, 'OptimizeTables');
}
- foreach (User::getList(1, PHP_INT_MAX, 'active') as $user) {
+ $users = DBA::select('owner-view', ['uid'], ["`homepage_verified` OR (`last-activity` > ? AND `homepage` != ?)", DateTimeFormat::utc('now - 7 days', 'Y-m-d'), '']);
+ while ($user = DBA::fetch($users)) {
Worker::add(Worker::PRIORITY_LOW, 'CheckRelMeProfileLink', $user['uid']);
}
-
+ DBA::close($users);
+
// Resubscribe to relay servers
Relay::reSubscribe();
- DI::config()->set('system', 'last_cron_daily', time());
+ DI::keyValue()->set('last_cron_daily', time());
}
Logger::notice('end');
- DI::config()->set('system', 'last_cron', time());
+ DI::keyValue()->set('last_cron', time());
}
/**