Milimetric has submitted this change and it was merged.
Change subject: Make sure that a lock is always released.
......................................................................
Make sure that a lock is always released.
Change-Id: Ifbd7972a738381d23d23a62cd645a7c25b8f32df
---
M user_metrics/api/engine/request_manager.py
1 file changed, 21 insertions(+), 10 deletions(-)
Approvals:
Milimetric: 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 cd421fa..205c661 100644
--- a/user_metrics/api/engine/request_manager.py
+++ b/user_metrics/api/engine/request_manager.py
@@ -615,8 +615,9 @@
except Empty:
logging.error(__name__ + ' :: req_cb_get_url -'
' Block time expired.')
- return ''
- lock.release()
+ val = ''
+ finally:
+ lock.release()
return val
@@ -629,8 +630,9 @@
except Empty:
logging.error(__name__ + ' :: req_cb_get_cache_keys -'
' Block time expired.')
- return []
- lock.release()
+ val = []
+ finally:
+ lock.release()
return val
@@ -643,18 +645,27 @@
except Empty:
logging.error(__name__ + ' :: req_cb_get_is_running -'
' Block time expired.')
- return False
- lock.release()
+ val = False
+ finally:
+ lock.release()
return val
def req_cb_add_req(key, url, lock):
lock.acquire()
- req_notification_queue_in.put([0, key, url])
- lock.release()
+ try:
+ req_notification_queue_in.put([0, key, url])
+ except:
+ pass
+ finally:
+ lock.release()
def req_cb_flag_job_complete(key, lock):
lock.acquire()
- req_notification_queue_in.put([1, key], True)
- lock.release()
\ No newline at end of file
+ try:
+ req_notification_queue_in.put([1, key], True)
+ except:
+ pass
+ finally:
+ lock.release()
--
To view, visit https://gerrit.wikimedia.org/r/59842
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ifbd7972a738381d23d23a62cd645a7c25b8f32df
Gerrit-PatchSet: 2
Gerrit-Project: analytics/E3Analysis
Gerrit-Branch: master
Gerrit-Owner: Diederik <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits