Daily updating the server status
This commit is contained in:
parent
eaf93dc041
commit
a2b7b2a968
|
@ -123,6 +123,8 @@ function cron_run(&$argv, &$argc){
|
||||||
|
|
||||||
update_contact_birthdays();
|
update_contact_birthdays();
|
||||||
|
|
||||||
|
proc_run(PRIORITY_LOW, "include/discover_poco.php", "update_server");
|
||||||
|
|
||||||
proc_run(PRIORITY_LOW, "include/discover_poco.php", "suggestions");
|
proc_run(PRIORITY_LOW, "include/discover_poco.php", "suggestions");
|
||||||
|
|
||||||
set_config('system','last_expire_day',$d2);
|
set_config('system','last_expire_day',$d2);
|
||||||
|
|
|
@ -35,6 +35,7 @@ function discover_poco_run(&$argv, &$argc){
|
||||||
- checkcontact: Updates gcontact entries
|
- checkcontact: Updates gcontact entries
|
||||||
- suggestions: Discover other servers for their contacts.
|
- suggestions: Discover other servers for their contacts.
|
||||||
- server <poco url>: Searches for the poco server list. "poco url" is base64 encoded.
|
- server <poco url>: Searches for the poco server list. "poco url" is base64 encoded.
|
||||||
|
- update_server: Frequently check the first 250 servers for vitality.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(($argc > 2) && ($argv[1] == "dirsearch")) {
|
if(($argc > 2) && ($argv[1] == "dirsearch")) {
|
||||||
|
@ -46,6 +47,8 @@ function discover_poco_run(&$argv, &$argc){
|
||||||
$mode = 3;
|
$mode = 3;
|
||||||
} elseif(($argc == 3) && ($argv[1] == "server")) {
|
} elseif(($argc == 3) && ($argv[1] == "server")) {
|
||||||
$mode = 4;
|
$mode = 4;
|
||||||
|
} elseif(($argc == 2) && ($argv[1] == "update_server")) {
|
||||||
|
$mode = 5;
|
||||||
} elseif ($argc == 1) {
|
} elseif ($argc == 1) {
|
||||||
$search = "";
|
$search = "";
|
||||||
$mode = 0;
|
$mode = 0;
|
||||||
|
@ -64,7 +67,9 @@ function discover_poco_run(&$argv, &$argc){
|
||||||
|
|
||||||
logger('start '.$search);
|
logger('start '.$search);
|
||||||
|
|
||||||
if ($mode == 4) {
|
if ($mode == 5) {
|
||||||
|
update_server();
|
||||||
|
} elseif ($mode == 4) {
|
||||||
$server_url = base64_decode($argv[2]);
|
$server_url = base64_decode($argv[2]);
|
||||||
if ($server_url == "") {
|
if ($server_url == "") {
|
||||||
return;
|
return;
|
||||||
|
@ -102,6 +107,34 @@ function discover_poco_run(&$argv, &$argc){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Updates the first 250 servers
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function update_server() {
|
||||||
|
$r = q("SELECT `url`, `created`, `last_failure`, `last_contact` FROM `gserver` ORDER BY rand()");
|
||||||
|
|
||||||
|
if (!dbm::is_result($r)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = 0;
|
||||||
|
|
||||||
|
foreach ($r AS $server) {
|
||||||
|
if (!poco_do_update($server["created"], "", $server["last_failure"], $server["last_contact"])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
echo $server["url"]."\n";
|
||||||
|
logger('Update server status for server '.$server["url"], LOGGER_DEBUG);
|
||||||
|
|
||||||
|
proc_run(PRIORITY_LOW, "include/discover_poco.php", "server", base64_encode($server["url"]));
|
||||||
|
|
||||||
|
if (++$updated > 250) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function discover_users() {
|
function discover_users() {
|
||||||
logger("Discover users", LOGGER_DEBUG);
|
logger("Discover users", LOGGER_DEBUG);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue