Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Django Seledri mendapatkan jumlah tugas

Berikut cara mendapatkan jumlah pesan dalam antrian menggunakan seledri yang bersifat broker-agnostic.

Dengan menggunakan connection_or_acquire , Anda dapat meminimalkan jumlah koneksi terbuka ke broker Anda dengan memanfaatkan penyatuan koneksi internal seledri.

celery = Celery(app)

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

Anda juga dapat memperluas Seledri untuk menyediakan fungsi ini:

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. Laravel 5.1 Session and Socket.IO + Redis - Mengirim Pemberitahuan ke Pengguna yang Masuk (Dikenal) dan Grup Pengguna

  2. redis dan tonton + multi memungkinkan pengguna bersamaan

  3. Apakah ada pustaka redis pemblokiran untuk node.js?

  4. Apakah daftar Redis atau setel utas metode pop aman?

  5. Adakah yang bisa menjelaskan perintah redis setbit?