Redis
 sql >> база данни >  >> NoSQL >> Redis

Django Celery получава брой задачи

Ето как можете да получите броя на съобщенията в опашката, като използвате целина, която не зависи от брокера.

С помощта на connection_or_acquire , можете да сведете до минимум броя на отворените връзки към вашия брокер, като използвате вътрешния пул за връзки на celery.

celery = Celery(app)

with celery.connection_or_acquire() as conn:
    conn.default_channel.queue_declare(
        queue='my-queue', passive=True).message_count

Можете също да разширите Celery, за да предоставите тази функционалност:

from celery import Celery as _Celery


class Celery(_Celery)

    def get_message_count(self, queue):
        '''
        Raises: amqp.exceptions.NotFound: if queue does not exist
        '''
        with self.connection_or_acquire() as conn:
            return conn.default_channel.queue_declare(
                queue=queue, passive=True).message_count


celery = Celery(app)
num_messages = celery.get_message_count('my-queue')


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Демократична опашка в Сидекик

  2. Броят на изтичащите ключове, изброени от командата info на подчинен редис, не съответства на това, което виждам

  3. Как мога да накарам Webmachine и eredis да работят заедно?

  4. Как да стартирам Redis сървър И друго приложение в Docker?

  5. Въведение в Redis структури от данни:сортирани набори