Exemple #1
0
 def get_queued_tasks(cls):
     channels = ['cq-tasks']
     cl = Channel('cq-tasks').channel_layer
     indexes = cl._receive_list_names(channels)
     if indexes is None:
         return []
     index = random.choice(list(indexes.keys()))
     list_names = indexes[index]
     random.shuffle(list_names)
     conn = cl.connection(index)
     messages = conn.lrange(list_names[0], 0, -1)
     if not messages:
         return {}
     task_ids = set()
     results = conn.mget(messages)
     for content in results:
         if content is None:
             continue
         content = cl.deserialize(content)
         task_ids.add(content['task_id'])
     return task_ids