sql >> Databasteknik >  >> NoSQL >> Redis

Django Selleri får uppgiftsräkning

Så här kan du få antalet meddelanden i en kö med selleri som är mäklaragnostisk.

Genom att använda connection_or_acquire , kan du minimera antalet öppna anslutningar till din mäklare genom att använda selleris interna anslutningspoolning.

celery = Celery(app)

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

Du kan också utöka Selleri för att tillhandahålla denna funktionalitet:

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. Hur man använder Redis Hashes

  2. Det bästa mönstret för att hantera asynkron looping i Node.js

  3. ActionCable på AWS:Fel under WebSocket-handskakning:Oväntad svarskod:404

  4. Topp 10 funktioner i MongoDB Atlas