]> git.mxchange.org Git - friendica.git/blob - src/Worker/UpdateGServers.php
New page for remote follow requests
[friendica.git] / src / Worker / UpdateGServers.php
1 <?php
2 /**
3  * @file src/Worker/UpdateGServers.php
4  */
5 namespace Friendica\Worker;
6
7 use Friendica\Core\Logger;
8 use Friendica\Core\Worker;
9 use Friendica\Database\DBA;
10 use Friendica\Model\GServer;
11
12 class UpdateGServers
13 {
14         /**
15          * Updates the first 250 servers
16          */
17         public static function execute()
18         {
19                 $gservers = DBA::p("SELECT `url`, `created`, `last_failure`, `last_contact` FROM `gserver` ORDER BY rand()");
20                 if (!DBA::isResult($gservers)) {
21                         return;
22                 }
23
24                 $updated = 0;
25
26                 while ($gserver = DBA::fetch($gservers)) {
27                         if (!GServer::updateNeeded($gserver['created'], '', $gserver['last_failure'], $gserver['last_contact'])) {
28                                 continue;
29                         }
30                         Logger::info('Update server status', ['server' => $gserver['url']]);
31
32                         Worker::add(PRIORITY_LOW, 'UpdateGServer', $gserver['url']);
33
34                         if (++$updated > 250) {
35                                 return;
36                         }
37                 }
38         }
39 }