From b53f12b93dc5a9b0633ce782582e690a9fb55906 Mon Sep 17 00:00:00 2001 From: Kix Panganiban Date: Tue, 16 Aug 2016 14:39:56 +0800 Subject: [PATCH 1/3] Fix some Exceptions not being propagated properly. * Set 'request_time' to 0 in AccessLogMiddleware if 'started_at' is not in headers --- zask/ext/zerorpc/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zask/ext/zerorpc/__init__.py b/zask/ext/zerorpc/__init__.py index 9bc318a..f0faa79 100644 --- a/zask/ext/zerorpc/__init__.py +++ b/zask/ext/zerorpc/__init__.py @@ -284,6 +284,7 @@ def server_after_exec(self, request_event, reply_event): def server_inspect_exception(self, request_event, reply_event, task_context, exc_infos): start = request_event.header.get('started_at') + request_time = lambda s: _milli_time() - s if s else 0 message = '"%s %s"' % (self._class_name, request_event.name) access_key = request_event.header.get('access_key', '-') uuid = request_event.header.get('uuid', '-') @@ -296,7 +297,7 @@ def server_inspect_exception(self, request_event, reply_event, task_context, exc 'referrer': '-', 'user_agent': '-', 'cookies': '-', - 'request_time': _milli_time() - start, + 'request_time': request_time(start), 'uuid': uuid, }) From ad46844279e263b38c952a6b81d35a318f7b9774 Mon Sep 17 00:00:00 2001 From: Kix Panganiban Date: Tue, 16 Aug 2016 15:11:19 +0800 Subject: [PATCH 2/3] Get rid of lambda, use inline calculation. --- zask/ext/zerorpc/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zask/ext/zerorpc/__init__.py b/zask/ext/zerorpc/__init__.py index f0faa79..c86dfc3 100644 --- a/zask/ext/zerorpc/__init__.py +++ b/zask/ext/zerorpc/__init__.py @@ -284,7 +284,6 @@ def server_after_exec(self, request_event, reply_event): def server_inspect_exception(self, request_event, reply_event, task_context, exc_infos): start = request_event.header.get('started_at') - request_time = lambda s: _milli_time() - s if s else 0 message = '"%s %s"' % (self._class_name, request_event.name) access_key = request_event.header.get('access_key', '-') uuid = request_event.header.get('uuid', '-') @@ -297,7 +296,7 @@ def server_inspect_exception(self, request_event, reply_event, task_context, exc 'referrer': '-', 'user_agent': '-', 'cookies': '-', - 'request_time': request_time(start), + 'request_time': _milli_time() - start if start else 0, 'uuid': uuid, }) From 7a928235bfb1b79f010620b5f73d503f662380b3 Mon Sep 17 00:00:00 2001 From: Kix Panganiban Date: Tue, 16 Aug 2016 15:32:12 +0800 Subject: [PATCH 3/3] Bump version to 1.9.4 --- CHANGES | 8 ++++++++ zask/__init__.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 707d77c..ae19606 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,14 @@ Zask Changelog Here you can see the full list of changes between each Zask release. +Version 1.9.4 +------------- + +released on August 16th 2016 + +* Fixed a bug that prevents Exceptions from properly propagating when there is no started_at in the event header + + Version 1.9.3 ------------- diff --git a/zask/__init__.py b/zask/__init__.py index ee3e981..b717c8d 100644 --- a/zask/__init__.py +++ b/zask/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -__version__ = '1.9.3' +__version__ = '1.9.4' import gevent from gevent.local import local