def collect_events(e, t, p): """ Collect task waiting in the queue and store event in the database. """ collection = None try: collection = models.get_mongo_collection() models.save_event(collection, e, t, p) finally: if collection: try: collection.connection.close() except: pass
def collect_events(): """ Collect all events waiting in the queue and store them in the database. """ consumer = None collection = None try: consumer = _get_carrot_object(Consumer, queue=settings.QUEUE) collection = models.get_mongo_collection() for message in consumer.iterqueue(): e, t, p = message.decode() models.save_event(collection, e, t, p) message.ack() finally: _close_carrot_object(consumer) if collection: try: collection.connection.close() except: pass