Set a default socket timeout of 10 seconds
authorMagnus Hagander <magnus@hagander.net>
Mon, 11 Apr 2016 08:45:36 +0000 (10:45 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 11 Apr 2016 08:45:36 +0000 (10:45 +0200)
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
hamnadmin/hamnadmin/util/aggregate.py

index 4149e49efd0c85c74558cd1d0685001ed064e0c0..551866eeb00efdd8e872c3882f3542d9931ac088 100644 (file)
@@ -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
 
index 2a77d41e521b9065faf9c4da37122339ce8fc57b..4758516e1323437d4cae668c9baa4891d6d65156 100644 (file)
@@ -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: