Open greatvovan opened 3 years ago
When publishing to a non-existing exchange the module does not raise any exceptions, but any subsequent operation on the channel will raise exceptions.
This code completes without problems, but will throw if uncommented:
import asyncio import aioamqp async def main(): tr, pr = await aioamqp.from_url('amqp://log:pass@host') chan = await pr.channel() await chan.publish(b'ABC', 'no-such-exchange', '') # await chan.publish(b'ABC', 'no-such-exchange', '') # await chan.close() tr.close() await asyncio.sleep(1.0) asyncio.run(main())
Expected: an exception is raised at the moment of problem operation.
aioamqp==0.14.0 Python 3.8.0
Hi @greatvovan
it's because of AMQP design : the publish does not raises any error, but any operations fails thereafter
https://stackoverflow.com/questions/56550352/python-pika-publishing-to-non-existing-exchange-does-not-raise-exception
When publishing to a non-existing exchange the module does not raise any exceptions, but any subsequent operation on the channel will raise exceptions.
This code completes without problems, but will throw if uncommented:
Expected: an exception is raised at the moment of problem operation.
aioamqp==0.14.0 Python 3.8.0