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))
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))
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()
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()
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)
def delete_jobs(): """delete all jobs.""" # TODO: delete from all queues sq = Queue("", connection=CONN) return sq.delete(delete_jobs=True)