aboutsummaryrefslogtreecommitdiffstats
path: root/include/onepoll.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/onepoll.php')
-rw-r--r--include/onepoll.php14
1 files changed, 9 insertions, 5 deletions
diff --git a/include/onepoll.php b/include/onepoll.php
index 02763cf4b..22f29deb2 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -54,9 +54,7 @@ function onepoll_run($argv, $argc){
logger('onepoll: no contact');
return;
}
-
- if(was_recently_delayed($contact_id))
- return;
+
$d = datetime_convert();
@@ -87,7 +85,7 @@ function onepoll_run($argv, $argc){
}
$contact = $contacts[0];
-
+ logger('onepoll: ' . $contact['id'] . ' ' . $contact['name'], LOGGER_DEBUG);
$xml = false;
@@ -139,15 +137,18 @@ function onepoll_run($argv, $argc){
. '&perm=' . $perm ;
$handshake_xml = fetch_url($url);
+ $html_code = $a->get_curl_code();
logger('onepoll: handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA);
- if(! $handshake_xml) {
+ if((! strlen($handshake_xml)) || ($html_code >= 400) || (! $html_code)) {
logger("poller: $url appears to be dead - marking for death ");
+
// dead connection - might be a transient event, or this might
// mean the software was uninstalled or the domain expired.
// Will keep trying for one month.
+
mark_for_death($contact);
// set the last-update so we don't keep polling
@@ -161,6 +162,9 @@ function onepoll_run($argv, $argc){
if(! strstr($handshake_xml,'<?xml')) {
logger('poller: response from ' . $url . ' did not contain XML.');
+
+ mark_for_death($contact);
+
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
dbesc(datetime_convert()),
intval($contact['id'])