From b04c190ca06ee452aa3a98120c386a4d652025a0 Mon Sep 17 00:00:00 2001 From: Matt Jibson <matt.jibson@gmail.com> Date: Tue, 11 Aug 2015 16:52:05 -0400 Subject: [PATCH] Prevent the metric queue from growing unbounded --- util/saas/metricqueue.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/util/saas/metricqueue.py b/util/saas/metricqueue.py index f4ad40231..1405f384c 100644 --- a/util/saas/metricqueue.py +++ b/util/saas/metricqueue.py @@ -1,11 +1,19 @@ -from Queue import Queue +import logging + +from Queue import Queue, Full + + +logger = logging.getLogger(__name__) class MetricQueue(object): def __init__(self): - self._queue = Queue() + self._queue = Queue(10000) def put(self, *args, **kwargs): - self._queue.put((args, kwargs)) + try: + self._queue.put_nowait((args, kwargs)) + except Full: + logger.error('Metric queue full') def get(self): return self._queue.get()