Ich bin damit beschäftigt, eine Python-Anwendung mit ZeroMQ zu schreiben und eine Variation des Majordomo-Musters zu implementieren, wie im ZGuide beschrieben .
Ich habe einen Makler als Vermittler zwischen einer Reihe von Arbeitern und Kunden. Ich möchte für jede eingehende Anfrage eine umfangreiche Protokollierung durchführen, aber ich möchte nicht, dass der Broker Zeit damit verschwendet. Der Broker sollte diese Protokollierungsanforderung an etwas anderes übergeben.
Ich habe mir zwei Möglichkeiten ausgedacht:
- Erstellen Sie Worker, die nur für die Protokollierung vorgesehen sind, und verwenden Sie den ZeroMQ IPC-Transport
- Verwenden Sie Multiprocessing mit einer Warteschlange
Ich bin mir nicht sicher, welches besser oder schneller ist. Mit der ersten Option kann ich die aktuellen Worker-Basisklassen verwenden, die ich bereits für normale Worker verwende. Die zweite Option scheint jedoch schneller zu implementieren zu sein.
Ich hätte gerne Ratschläge oder Kommentare zu den oben genannten oder möglicherweise eine andere Lösung.