ttab / amqp-as-promised

20 stars 3 forks source link

Support Publisher Confirms #15

Open mk-pmb opened 6 years ago

mk-pmb commented 6 years ago

Since the docs say exchange.publish returns a promise, I thought I could rely on that to determine when it's ok to close the connection. Looks like it's not, at least not when I have other unrelated publisher connections running at the same time. At least Wireshark can't see any feedback from the server that would warrant the promise being resolved, and nonetheless, it is resolved. When I subsequently close the connection, my last message is lost.

Could you maybe use Publisher Confirms to make sure the promise only resolves once the server got the message? Please also document whether I can use the same publisher channel to send lots of messages (awaiting all their confirms later) and have them be sent in a large burst instead of one by one. cf. Ack Latency for Persistent Messages

Also please document whether amqp-a-p will take care of potential problems with Delivery Tag approaching Number.MAX_SAFE_INTEGER,

fred-o commented 5 years ago

There was a bug in exchange.publish() for version 5.x. It is hopefully fixed in version 5.0.2

mk-pmb commented 5 years ago

Thanks! Would be nice if the docs could soon explain what meaning is intended in the promise returned from exchange.publish, i.e. when it is expected to be resolved.