better handling of dead contacts
This commit is contained in:
		
					parent
					
						
							
								79e2ae3791
							
						
					
				
			
			
				commit
				
					
						be090cc851
					
				
			
		
					 6 changed files with 91 additions and 65 deletions
				
			
		| 
						 | 
				
			
			@ -139,6 +139,10 @@ function terminate_friendship($user,$self,$contact) {
 | 
			
		|||
 
 | 
			
		||||
if(! function_exists('mark_for_death')) {
 | 
			
		||||
function mark_for_death($contact) {
 | 
			
		||||
 | 
			
		||||
	if($contact['archive'])
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	if($contact['term-date'] == '0000-00-00 00:00:00') {
 | 
			
		||||
		q("UPDATE `contact` SET `term-date` = '%s' WHERE `id` = %d LIMIT 1",
 | 
			
		||||
				dbesc(datetime_convert()),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -139,15 +139,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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue