sql >> Databáze >  >> NoSQL >> Redis

Django Celery získá počet úkolů

Zde je návod, jak můžete získat počet zpráv ve frontě pomocí celeru, který je agnostický pro makléře.

Pomocí connection_or_acquire , můžete minimalizovat počet otevřených připojení k vašemu brokerovi využitím interního sdružování připojení celery.

celery = Celery(app)

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

Celer můžete také rozšířit, aby poskytoval tuto funkci:

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. Hosting ScaleGrid pro Redis™ na vašem vlastním účtu AWS

  2. Agregát Mongodb:převeďte datum na jiné časové pásmo

  3. Migrace phpRedis do clusteru a konzistentní hashování

  4. Aktualizace MongoDB s podmínkou