Rumah  >  Soal Jawab  >  teks badan

python - tugas tak segerak saderi+rabbitmq, mesej baris gilir terus meningkat

Apabila saderi bekerjasama dengan rabbitmq untuk melaksanakan tugas tak segerak, didapati bilangan mesej dalam rabbitmq sentiasa meningkat, tetapi mesej ini sebenarnya telah diproses oleh tugas tersebut.

Melihat bahagian belakang yang disertakan dengan rabbimtq, kami mendapati bahawa dalam mesej Baris Gilir, bilangan sedia dan jumlah telah mencecah lebih daripada 5,000, dan nilai tidak diakui ialah 0. Walau bagaimanapun, apabila benar-benar berfungsi, nilai yang tidak diketahui akan berubah, tetapi ia akhirnya akan menjadi 0. Tiada apa-apa yang istimewa tentang konfigurasi saderi Ia hanya menetapkan kandungan berikut
CELERY_IMPORTS = ('testtasks',)
BROKER_URL = '. amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://'

Kemudian lihat pada sumber sistem Memori proses erl agak besar, mungkin lebih daripada 300 M digunakan buat sementara waktu

Adakah ada yang salah dengan konfigurasi saderi di sebelah saya.

高洛峰高洛峰2675 hari yang lalu1088

membalas semua(1)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:53:49

    Ia telah diselesaikan Cuma tingkatkan rabbitmq kepada versi 3.3 atau ke atas.
    Saya menggunakan rabbitmq versi 3.1 sebelum ini, dan kemudian saderi ialah versi 3.1


    Cara sebenar untuk menyelesaikan masalah adalah dengan menambahkan atribut ignore_result=True pada tugasan, seperti berikut
    @app.task(ignore_result=True)

    balas
    0
  • Batalbalas