From 36f7a9f6494c0fff8660ac363bf868bd1a282557 Mon Sep 17 00:00:00 2001
From: Calum Mackervoy <c.mackervoy@gmail.com>
Date: Thu, 12 Nov 2020 15:07:22 +0000
Subject: [PATCH] feature: do_post accepts timeout parameter, settings
 DEFAULT_REQUEST_TIMEOUT

---
 djangoldp/activities/services.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/djangoldp/activities/services.py b/djangoldp/activities/services.py
index 629143a5..34560c4b 100644
--- a/djangoldp/activities/services.py
+++ b/djangoldp/activities/services.py
@@ -32,6 +32,7 @@ SCHEDULER_SETTINGS = {
 MAX_ACTIVITY_RESCHEDULES = getattr(settings, 'MAX_ACTIVITY_RESCHEDULES', 3)
 DEFAULT_BACKOFF_FACTOR = getattr(settings, 'DEFAULT_BACKOFF_FACTOR', 1)
 DEFAULT_ACTIVITY_DELAY = getattr(settings, 'DEFAULT_ACTIVITY_DELAY', 3)
+DEFAULT_REQUEST_TIMEOUT = getattr(settings, 'DEFAULT_REQUEST_TIMEOUT', 10)
 
 
 activity_sending_finished = Signal()
@@ -82,7 +83,7 @@ class ActivityQueueService:
             cls.revive_activities()
 
     @classmethod
-    def do_post(cls, url, activity, auth=None):
+    def do_post(cls, url, activity, auth=None, timeout=DEFAULT_REQUEST_TIMEOUT):
         '''
         makes a POST request to url, passing activity
         :returns: response from server
@@ -93,7 +94,7 @@ class ActivityQueueService:
 
         if getattr(settings, 'DISABLE_OUTBOX', False) == 'DEBUG':
             return {'data': {}}
-        return requests.post(url, data=json.dumps(activity), headers=headers, timeout=10)
+        return requests.post(url, data=json.dumps(activity), headers=headers, timeout=timeout)
 
     @classmethod
     def _save_activity_from_response(cls, response, url, scheduled_activity):
-- 
GitLab