diff --git a/gunicorn/workers/base_async.py b/gunicorn/workers/base_async.py index 73c3f6c1..ec5d7644 100644 --- a/gunicorn/workers/base_async.py +++ b/gunicorn/workers/base_async.py @@ -115,9 +115,9 @@ class AsyncWorker(base.Worker): for item in respiter: resp.write(item) resp.close() + finally: request_time = datetime.now() - request_start self.log.access(resp, req, environ, request_time) - finally: if hasattr(respiter, "close"): respiter.close() if resp.should_close(): diff --git a/gunicorn/workers/gthread.py b/gunicorn/workers/gthread.py index f0e5bbf5..9a6ad006 100644 --- a/gunicorn/workers/gthread.py +++ b/gunicorn/workers/gthread.py @@ -340,9 +340,9 @@ class ThreadWorker(base.Worker): resp.write(item) resp.close() + finally: request_time = datetime.now() - request_start self.log.access(resp, req, environ, request_time) - finally: if hasattr(respiter, "close"): respiter.close() diff --git a/gunicorn/workers/sync.py b/gunicorn/workers/sync.py index 4bdf0003..d68d15cb 100644 --- a/gunicorn/workers/sync.py +++ b/gunicorn/workers/sync.py @@ -183,9 +183,9 @@ class SyncWorker(base.Worker): for item in respiter: resp.write(item) resp.close() + finally: request_time = datetime.now() - request_start self.log.access(resp, req, environ, request_time) - finally: if hasattr(respiter, "close"): respiter.close() except EnvironmentError: