3 ms·
Best thing is that some messages go through despite returning 500s. This leads to our integrations spamming our companies channels with redundant messages while
by nielsole 7y ago
Best thing is that some messages go through despite returning 500s. This leads to our integrations spamming our companies channels with redundant messages while retrying. :/
- cabaalis 7y agoOuch, that one hurts. I don't know slack API but the contract expectation in the call should absolutely be "500 means the message failed to send" Tells me there's some subsystem throwing the error, not the actual messaging (or, if intermittent, something wrong with the distribution.) What do you want to bet it's some kind of new analytics?
- bdonlan 7y agoIt's not possible to always ensure that you report whether an operation succeeded. Consider a timeout - you waited 5 seconds for the backend to respond and heard nothing - was it, or will it be successful? You don't know. Typically a 500 should be considered as a "may or may not have succeeded", and steps taken to deduplicate operations if necessary.
- toast0 7y agoHttp 500 is like when the server drops connection before returning a response. Something happened, but you have no idea what happened. You can't safely retry unless your request is idempotent enough.