Example #1
0
    def test_queue_delete_but_keep_jobs(self):
        """Test queue.delete properly removes queue but keeps the job keys in the redis store"""
        q = Queue('example')
        job = q.enqueue(say_hello)
        job2 = q.enqueue(say_hello)

        self.assertEqual(2, len(q.get_job_ids()))

        q.delete(delete_jobs=False)

        self.assertEqual(0, len(q.get_job_ids()))
        self.assertEqual(True, self.testconn.exists(job.key))
        self.assertEqual(True, self.testconn.exists(job2.key))
        self.assertEqual(0, len(self.testconn.smembers(Queue.redis_queues_keys)))
        self.assertEqual(False, self.testconn.exists(q.key))
Example #2
0
    def test_queue_delete(self):
        """Test queue.delete properly removes queue"""
        q = Queue('example')
        job = q.enqueue(say_hello)
        job2 = q.enqueue(say_hello)

        self.assertEqual(2, len(q.get_job_ids()))

        q.delete()

        self.assertEqual(0, len(q.get_job_ids()))
        self.assertEqual(False, self.testconn.exists(job.key))
        self.assertEqual(False, self.testconn.exists(job2.key))
        self.assertEqual(0, len(self.testconn.smembers(Queue.redis_queues_keys)))
        self.assertEqual(False, self.testconn.exists(q.key))
Example #3
0
def delete_queue(c, queue=None):
    """Delete given queue
    """
    if queue is None:
        raise ValueError("Please specify queue")

    delete_started(c, queue=queue)
    delete_finished(c, queue=queue)
    delete_failed(c, queue=queue)

    q = Queue(
        queue,
        connection=Redis(host=REDIS_HOST,
                         port=REDIS_PORT,
                         password=REDIS_PASSWORD,
                         db=REDIS_DB),
    )
    q.delete()
Example #4
0
def worker(queue):
    """ Start the (redis queue) worker to deal with the received messages
    """
    from .redis_con import get_redis
    from . import work

    work.unlock()
    # Let's drop the redis database and refill it from incident store
    with Connection(get_redis()):

        q = Queue("failed")
        if q.count > 0:
            log.info("Emptying Redis Queue (failed) ...")
            q.empty()
            job = q.dequeue()
            while job is not None:
                log.info("Canceling " + str(job))
                job.cancel()
                job.delete()
                job = q.dequeue()

        q = Queue("default")
        count_before = q.count

        if q.count > 0:
            log.info("Emptying Redis Queue (default) ...")
            q.empty()
            job = q.delete()
            while job is not None:
                log.info("Canceling " + str(job))
                job.cancel()
                job.delete()
                job = q.delete()
            log.info("Redis Queue cleared (jobs before=" + str(count_before) +
                     ")")
        else:
            log.info("Empty Redis Queue initialized")

    # This runs the Worker as thread
    with Connection(get_redis()):
        w = Worker([queue])
        w.work()
Example #5
0
def main():
    use_connection()
    q = Queue('failed', connection=r)
    print(len(q))
    q.delete(delete_jobs=True)
    q = Queue('default', connection=r)
    print(len(q))
    q.delete(delete_jobs=True)
    stations = station_list()
    for station in stations:
        q = Queue(station, connection=r)
        print(len(q))

        q.delete(delete_jobs=True)
Example #6
0
def delete_jobs():
    """delete all jobs."""
    # TODO: delete from all queues
    sq = Queue("", connection=CONN)
    return sq.delete(delete_jobs=True)