RabbitMQ pika.exceptions.ConnectionClosed

Ich habe versucht, eine Nachricht mit RabbitMQ zu senden und zu empfangen. Ich habe keinen Informatik-Hintergrund. Die von mir verwendeten Begriffe könnten nicht sehr genau sein.

Ich versuche, die Tutorial-Datei zu kopieren: Beim Senden meines HTML-Formulars, meines Python-Skripts (CGI) wird die Nachricht an die Warteschlange gesendet.

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
        channel = connection.channel()
        channel.queue_declare(queue='task_queue', durable=True)
        message = PN
        channel.basic_publish(exchange='',
                              routing_key='task_queue',
                              body=message,
                              properties=pika.BasicProperties(
                                 delivery_mode = 2, # make message persistent
                              ))
        connection.close()

mein Empfänger läuft:

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)
print(' [*] Waiting for messages. To exit press CTRL+C')

def callback(ch, method, properties, body):
    print(" [x] Received Project %r" % body)
    #ch.basic_ack(delivery_tag = method.delivery_tag) 
    if not (os.path.isfile(js_path)):
        print (' [*] ERROR files missing ')
        #ch.basic_ack(delivery_tag = method.delivery_tag)
        return
    p= subprocess.Popen(run a subprocess here)
    p.wait()

    print (' [*] Temporary Files removed')
    print(" [*] Waiting for messages. To exit press CTRL+C")

channel.basic_qos(prefetch_count=1)
channel.basic_consume(callback,queue='task_queue',no_ack=True)
channel.start_consuming()

Es verwaltet die meiste Zeit, stürzt jedoch nach dem Zufallsprinzip mit dem folgenden Fehler ab:

Traceback (letzter Aufruf zuletzt): Datei "Receive5.py", Zeile 139, in channel.start_consuming () Datei "C: \ Python27 \ lib \ site-packages \ pika \ adapters \ blocking_connection.py", Zeile 1681, in start_consuming self.connection.process_data_events (time_limit = None) Datei "C: \ Python27 \ lib \ site-packages \ pika \ adapters \ blocking_connection.py", Zeile 647, in process_data_events self._flush_output (common_terminator) Datei "C: \ Python27 \ lib \ site-packages \ pika \ adapters \ blocking_connection.py ", Zeile 426, in _flush_output erhöhen exceptions.ConnectionClosed () pika.exceptions.ConnectionClosed

Antworten auf die Frage(6)

Ihre Antwort auf die Frage