]> git.mxchange.org Git - friendica.git/blob - src/Worker/UpdateGServers.php
a245c34fca260b1b866d2a54897b5b6b1d3660fa
[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          * @brief Updates the first 250 servers
16          *
17          */
18         public static function execute()
19         {
20                 $gservers = DBA::p("SELECT `url`, `created`, `last_failure`, `last_contact` FROM `gserver` ORDER BY rand()");
21                 if (!DBA::isResult($gservers)) {
22                         return;
23                 }
24
25                 $updated = 0;
26
27                 while ($gserver = DBA::fetch($gservers)) {
28                         if (!GServer::updateNeeded($gserver['created'], '', $gserver['last_failure'], $gserver['last_contact'])) {
29                                 continue;
30                         }
31                         Logger::info('Update server status', ['server' => $gserver['url']]);
32
33                         Worker::add(PRIORITY_LOW, 'UpdateGServer', $gserver['url']);
34
35                         if (++$updated > 250) {
36                                 return;
37                         }
38                 }
39         }
40 }