As in #418 I have problem consuming messages with task that take a long time.
I am using git master setting heartbeat_interval=0.
My code is very similar to
http://pika.readthedocs.io/en/0.10.0/examples/asynchronous_consumer_example.html
but my on_message method take some minutes to "consume" the message.
after some time consuming message I get:
INFO 2016-05-27 16:28:51,083 __main__ connect 101 : Connecting to localhost
INFO 2016-05-27 16:28:51,084 pika.adapters.base_connection _create_and_connect_to_socket 216 : Connecting to ::1:5672
INFO 2016-05-27 16:28:51,089 __main__ on_connection_open 117 : Connection opened
INFO 2016-05-27 16:28:51,089 __main__ add_on_connection_close_callback 126 : Adding connection close callback
INFO 2016-05-27 16:28:51,089 __main__ open_channel 169 : Creating a new channel
INFO 2016-05-27 16:28:51,092 __main__ on_channel_open 181 : Channel opened
INFO 2016-05-27 16:28:51,092 __main__ add_on_channel_close_callback 193 : Adding channel close callback
INFO 2016-05-27 16:28:51,092 __main__ start_consuming 223 : Issuing consumer related RPC commands
INFO 2016-05-27 16:28:51,092 __main__ add_on_cancel_callback 233 : Adding consumer cancellation callback
INFO 2016-05-27 16:28:51,102 __main__ on_message 263 : Received message # 1 from None
INFO 2016-05-27 16:43:45,104 __main__ run 72 : Done
INFO 2016-05-27 16:43:45,883 __main__ acknowledge_message 312 : Acknowledging message 1
ERROR 2016-05-27 16:43:45,884 pika.adapters.base_connection _handle_error 362 : Socket Error: 104
INFO 2016-05-27 16:43:45,884 pika.connection _on_terminate 1891: Disconnected from RabbitMQ at localhost:5672 (-1): error(104, 'Connection reset by peer')
WARNING 2016-05-27 16:43:45,885 __main__ on_channel_closed 209 : Channel 1 was closed: (-1) error(104, 'Connection reset by peer')
WARNING 2016-05-27 16:43:45,886 pika.connection close 1135: Suppressing close request on <SelectConnection CLOSED socket=None params=<ConnectionParameters host=localhost port=5672 virtual_host=/ ssl=False>>
WARNING 2016-05-27 16:43:45,887 __main__ on_connection_closed 144 : Connection closed, reopening in 5 seconds: (-1) error(104, 'Connection reset by peer')
INFO 2016-05-27 16:43:50,892 __main__ connect 101 : Connecting to localhost
On the log you can see function and line before meaage.
I have tried to execute my task in thread maintaining the amqp comunication in the main process with:
self._connection.ioloop.stop()
while (thread.isAlive()):
#self._connection.ioloop.poll(write_only=True)
#self._connection.ioloop.poll()
time.sleep(3)
write_only=True was available in previous version
self._connection.ioloop.poll() create a recursion call with a lot of thread and problems
self._connection.ioloop.start()
So I don't have solution, I cannot consume messages and all is stalled.
Is possible we need a (background) poll to maintain socket and do not get new messages from queue?
As in #418 I have problem consuming messages with task that take a long time.
I am using git master setting heartbeat_interval=0.
My code is very similar to
http://pika.readthedocs.io/en/0.10.0/examples/asynchronous_consumer_example.html
but my on_message method take some minutes to "consume" the message.
after some time consuming message I get:
On the log you can see function and line before meaage.
I have tried to execute my task in thread maintaining the amqp comunication in the main process with:
write_only=True was available in previous version
self._connection.ioloop.poll() create a recursion call with a lot of thread and problems
self._connection.ioloop.start()
So I don't have solution, I cannot consume messages and all is stalled.
Is possible we need a (background) poll to maintain socket and do not get new messages from queue?