It's a tricky problem, and as you say, it's not as nice as getting an errback from basic_publish, but the spec is pretty clear about that :-/ Your solutions works, but what do you think of using the self.client.started event to watch for errors?
In src/txamqp/client.py:109 there's this:
self.client.started.fail_if_not_fired(Closed(reason))
maybe we could use this instead:
self.client.started.fail(Closed(reason))
It's a tricky problem, and as you say, it's not as nice as getting an errback from basic_publish, but the spec is pretty clear about that :-/ Your solutions works, but what do you think of using the self.client.started event to watch for errors?
In src/txamqp/ client. py:109 there's this:
maybe we could use this instead: