site checking stuff
This commit is contained in:
parent
8fb4f37670
commit
97b990c9bf
63
include/checksites.php
Normal file
63
include/checksites.php
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?php /** @file */
|
||||||
|
|
||||||
|
require_once('boot.php');
|
||||||
|
require_once('include/cli_startup.php');
|
||||||
|
require_once('include/zot.php');
|
||||||
|
require_once('include/hubloc.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function checksites_run($argv, $argc){
|
||||||
|
|
||||||
|
|
||||||
|
cli_startup();
|
||||||
|
$a = get_app();
|
||||||
|
|
||||||
|
logger('checksites: start');
|
||||||
|
|
||||||
|
if(($argc > 1) && ($argv[1]))
|
||||||
|
$site_id = $argv[1];
|
||||||
|
|
||||||
|
if($site_id)
|
||||||
|
$sql_options = " and site_url = '" . dbesc($argv[1]) . "' ";
|
||||||
|
|
||||||
|
$days = intval(get_config('system','sitecheckdays'));
|
||||||
|
if($days < 1)
|
||||||
|
$days = 30;
|
||||||
|
|
||||||
|
|
||||||
|
$r = q("select * from site where site_dead = 0 and site_update < %s - INTERVAL %s $sql_options ",
|
||||||
|
db_utcnow(), db_quoteinterval($days . ' DAY')
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
if(! $r)
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreach($r as $rr) {
|
||||||
|
if(! strcasecmp($rr['site_url'],z_root()))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$x = ping_site($rr['site_url']);
|
||||||
|
if($x['success']) {
|
||||||
|
logger('checksites: ' . $rr['site_url']);
|
||||||
|
q("update site set site_update = '%s' where site_url = '%s' ",
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
dbesc($rr['site_url'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger('marking dead site: ' . $x['message']);
|
||||||
|
q("update site set site_dead = 1 where site_url = '%s' ",
|
||||||
|
dbesc($rr['site_url'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (array_search(__file__,get_included_files())===0){
|
||||||
|
checksites_run($argv,$argc);
|
||||||
|
killme();
|
||||||
|
}
|
@ -291,13 +291,18 @@ function ping_site($url) {
|
|||||||
$ret['message'] = 'no answer from ' . $url;
|
$ret['message'] = 'no answer from ' . $url;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
$packet_result = $r['body'];
|
$packet_result = json_decode($r['body'],true);
|
||||||
if(! $packet_result['success']) {
|
if(! $packet_result['success']) {
|
||||||
$ret['message'] = 'packet failure from ' . $url;
|
$ret['message'] = 'packet failure from ' . $url;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret['success'] = true;
|
if($packet_result['success']) {
|
||||||
return $ret;
|
$ret['success'] = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ret['message'] = 'unknown error from ' . $url;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
}
|
}
|
||||||
|
@ -175,7 +175,10 @@ function poller_run($argv, $argc){
|
|||||||
logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true));
|
logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check for dead sites
|
||||||
|
proc_run('php', 'include/checksites.php');
|
||||||
|
|
||||||
|
// update searchable doc indexes
|
||||||
proc_run('php', 'include/importdoc.php');
|
proc_run('php', 'include/importdoc.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user