RabbitMQ: Wie kann ich ein Python-Wörterbuch zwischen Python-Produzent und -Consumer senden?

9

Ich versuche, ein Python-Wörterbuch von einem Python-Produzenten zu einem Python-Konsumenten zu senden, der RabbitMQ verwendet. Der Hersteller stellt zuerst die Verbindung zum lokalen RabbitMQ-Server her. Dann erstellt er eine Warteschlange, an die die Nachricht übermittelt wird, und sendet die Nachricht schließlich. Der Benutzer stellt zuerst eine Verbindung mit dem RabbitMQ-Server her und stellt dann sicher, dass die Warteschlange existiert, indem er dieselbe Warteschlange erstellt. Er empfängt dann die Nachricht vom Producer innerhalb der Callback-Funktion und gibt den 'id' Wert aus (1). Hier sind die Skripte für Hersteller und Verbraucher:

producer.py-Skript:

%Vor%

consumer.py-Skript:

%Vor%

Aber wenn ich producer.py starte, erhalte ich diesen Fehler:

%Vor%

Könnte mir jemand helfen? Danke!

    
Malgi 30.12.2015, 17:26
quelle

1 Antwort

14

Sie können keine nativen Python-Typen als Payload senden, Sie müssen sie zuerst serialisieren. Ich empfehle die Verwendung von JSON:

%Vor%

und

%Vor%     
Turn 30.12.2015, 17:31
quelle

Tags und Links