2015-06-26 15 views
8

Bir ağ pub/alt olay sistemi kurmak istiyorum, ancak görevleri eşzamansız olarak çalıştırabilmek de gerekiyor. Ağır yükü kaldırmak için kereviz almayı denedim ama sanki çalışmasını sağlamak için bir sürü şeyden kaçınmaya çalışıyorum.Ağa bağlı pub/alt olaylar olarak kereviz

İki makinem var (giriş ve çıkış) ve her ikisinin de RabbitMQ'ye erişimi var. Giriş için bekleyen bir döngüden ana program başlatmak istiyorum (bir web kamerası tarafından algılanan hareket). Ben input_machine main_py başlatır bir giriş tarafından çalışan bir giriş tarafından başlatılan bir kereviz görevi başlatır main.py alt giriş "giriş" sıraya. Bu görev, bir girdi algılanana kadar sadece bir süre True döngüsünü çalıştırır, daha sonra "çıktı" sırasına göre kereviz görevi olarak adlandırılan başka bir şey ('project.entered_room').

Bu arada, output_machine üzerinde, "output" kuyruğunu ('project.entered_room') odaya giren birine yanıt veren bir görevle izleyen bir kereviz örneğim var.

Girdiden giriş algılandığında, bir görev çıkış makinesinde çalışır. Bunu işe alabiliyorum ama birçok ithalat sorunu ve diğer baş ağrısına dönüşebiliyorum. Bunu başarmanın daha kolay bir yolu var mı? Her şey yolunda mı gidiyorum? Yanlış araçları mı kullanıyorum?

Devreler de dahil olmak üzere birçok farklı çerçeveye baktım ve bükülmüş. Twisted çok karmaşık ve ben bir matkap ile bir çivi vurmak istiyorum gibi hissediyorum.

cevap

0

Kereviz sadece bir görev yöneticisidir.

RabbitMQ mesaj numaratörünüzdür. İki makineniz arasında bir RabbitMQ kanalı uygular ve girişinizi yönetmek için yayınlama/abone kullanın. Belki bu link yardımcı olabilir