python - tugas tak segerak saderi+rabbitmq, mesej baris gilir terus meningkat
高洛峰
高洛峰 2017-06-22 11:51:49
0
1
1108

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.

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
曾经蜡笔没有小新

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)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!