diff --git a/circle/storage/tasks/local_tasks.py b/circle/storage/tasks/local_tasks.py index 26a48fb..7a0b25d 100644 --- a/circle/storage/tasks/local_tasks.py +++ b/circle/storage/tasks/local_tasks.py @@ -10,15 +10,13 @@ def check_queue(storage, queue_id): drivers = ['storage', 'download'] worker_list = [storage + "." + d for d in drivers] queue_name = storage + "." + queue_id - # v is List of List of queues dict active_queues = celery.control.inspect(worker_list).active_queues() - if active_queues is not None: - node_workers = [v for k, v in active_queues.iteritems()] - for worker in node_workers: - for queue in worker: - if queue['name'] == queue_name: - return True - return False + if active_queues is None: + return False + + queue_names = (queue['name'] for worker in active_queues.itervalues() + for queue in worker) + return queue_name in queue_names @celery.task