Rfaulk has submitted this change and it was merged. Change subject: add. timouts between broker item polls. ......................................................................
add. timouts between broker item polls. Change-Id: Ida8f2cdebb18446df14d9589f68a98e3e7f7561f --- M user_metrics/api/engine/request_manager.py M user_metrics/api/engine/response_handler.py 2 files changed, 18 insertions(+), 2 deletions(-) Approvals: Rfaulk: Verified; Looks good to me, approved diff --git a/user_metrics/api/engine/request_manager.py b/user_metrics/api/engine/request_manager.py index f8624ca..ce8da09 100644 --- a/user_metrics/api/engine/request_manager.py +++ b/user_metrics/api/engine/request_manager.py @@ -94,6 +94,7 @@ from collections import namedtuple from os import getpid from sys import getsizeof +import time # API JOB HANDLER @@ -107,7 +108,7 @@ MAX_BLOCK_SIZE = 5000 MAX_CONCURRENT_JOBS = 1 QUEUE_WAIT = 5 - +RESQUEST_TIMEOUT = 1.0 # Defines the job item type used to temporarily store job progress job_item_type = namedtuple('JobItem', 'id process request queue') @@ -141,10 +142,15 @@ while 1: + time.sleep(RESQUEST_TIMEOUT) + # Request Queue Processing # ------------------------ + logging.debug(log_name + ' - POLLING REQUESTS...') req_item = umapi_broker_context.pop(REQUEST_BROKER_TARGET) + if not req_item: + continue logging.debug(log_name + ' :: PULLING item from request queue -> ' \ '\n\tCOHORT = {0} - METRIC = {1}' diff --git a/user_metrics/api/engine/response_handler.py b/user_metrics/api/engine/response_handler.py index 4b9eda5..1afe605 100644 --- a/user_metrics/api/engine/response_handler.py +++ b/user_metrics/api/engine/response_handler.py @@ -13,9 +13,11 @@ from user_metrics.api.engine.request_meta import rebuild_unpacked_request from user_metrics.api.engine.data import set_data, build_key_signature +import time + # Timeout in seconds to wait for data on the queue. This should be long # enough to ensure that the full response can be received -RESPONSE_TIMEOUT = 0.1 +RESPONSE_TIMEOUT = 1.0 # API RESPONSE HANDLER @@ -30,8 +32,14 @@ while 1: + time.sleep(RESPONSE_TIMEOUT) + # Read request from the broker target + logging.debug(log_name + ' - POLLING RESPONSES...') res_item = umapi_broker_context.pop(RESPONSE_BROKER_TARGET) + if not res_item: + continue + request_meta = rebuild_unpacked_request(res_item) key_sig = build_key_signature(request_meta, hash_result=True) @@ -42,4 +50,6 @@ str(request_meta))) set_data(stream, request_meta) + + logging.debug(log_name + ' - SHUTTING DOWN...') -- To view, visit https://gerrit.wikimedia.org/r/73730 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ida8f2cdebb18446df14d9589f68a98e3e7f7561f Gerrit-PatchSet: 1 Gerrit-Project: analytics/user-metrics Gerrit-Branch: repair_runtime Gerrit-Owner: Rfaulk <rfaulk...@wikimedia.org> Gerrit-Reviewer: Rfaulk <rfaulk...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits