From 6a861f5904e0036bca3b78c2eec97ff9ed9748ea Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Mon, 11 Apr 2016 10:45:36 +0200 Subject: [PATCH] Set a default socket timeout of 10 seconds Any feed that doesn't complete the socket operation in 10 seconds will fail - we'll still retry it on the next run of course. --- hamnadmin/hamnadmin/register/views.py | 1 - hamnadmin/hamnadmin/util/aggregate.py | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hamnadmin/hamnadmin/register/views.py b/hamnadmin/hamnadmin/register/views.py index 4149e49..551866e 100644 --- a/hamnadmin/hamnadmin/register/views.py +++ b/hamnadmin/hamnadmin/register/views.py @@ -12,7 +12,6 @@ from hamnadmin.register.models import * from hamnadmin.mailqueue.util import send_simple_mail from hamnadmin.util.varnish import purge_url, purge_root_and_feeds -import socket import datetime import feedparser diff --git a/hamnadmin/hamnadmin/util/aggregate.py b/hamnadmin/hamnadmin/util/aggregate.py index 2a77d41..4758516 100644 --- a/hamnadmin/hamnadmin/util/aggregate.py +++ b/hamnadmin/hamnadmin/util/aggregate.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import datetime +import socket import feedparser @@ -18,6 +19,10 @@ class FeedFetcher(object): self.tracefunc(msg) def parse(self, fetchsince=None): + # If we can't get a socket connection to complete in 10 seconds, + # give up on that feed. + socket.setdefaulttimeout(10) + if fetchsince: parser = feedparser.parse(self.feed.feedurl, modified=fetchsince.timetuple()) else: -- 2.39.5