From 5809f205f5da74b0925be1c7212a5455b5d32521 Mon Sep 17 00:00:00 2001 From: Alex Sadleir Date: Wed, 5 Nov 2014 12:51:51 +1100 Subject: [PATCH] Use urllib2 timeout for Google Analytics Event Tracking requests --- ckanext/googleanalytics/controller.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ckanext/googleanalytics/controller.py b/ckanext/googleanalytics/controller.py index 6ffd5e4..58e4919 100644 --- a/ckanext/googleanalytics/controller.py +++ b/ckanext/googleanalytics/controller.py @@ -3,6 +3,7 @@ from ckan.lib.base import BaseController, c, render, request import dbutil import urllib +import urllib2 import logging import ckan.logic as logic @@ -47,10 +48,12 @@ class GAApiController(ApiController): data = urllib.urlencode(data_dict) log.debug("Sending API event to Google Analytics: "+data) # send analytics asynchronously - threading.Thread(target=urllib.urlopen, + threading.Thread(target=urllib2.urlopen, args=( "http://www.google-analytics.com/collect", - data)).start() + data, + # timeout in seconds https://docs.python.org/2/library/urllib2.html#urllib2.urlopen + 10)).start() def action(self, logic_function, ver=None): try: