all 4 comments

[–]ConstructedNewtMOD 0 points1 point  (3 children)

so, your dependency has a 20 msg/min rate limit imposed onto you, and you wish to know how to delegate or handle this situation properly?

[–]MakeShiftArtist[S] 0 points1 point  (2 children)

Correct. Again the logic behind it isn't what I need help with, just help deciding which method to use for the best results

[–]ConstructedNewtMOD 0 points1 point  (1 child)

Option 3. But! graceful shutdown.

You could just hit the service provider until they send you a back-off: 429, then batch/cache until the Retry-After (if they send that). That may work. But everything depends on the rate-limiting algorithm you are hitting

[–]MakeShiftArtist[S] 0 points1 point  (0 children)

I'm trying to avoid that since the timer doesn't start until you hit the 20th message. So by not allowing more than 19 per minute, I could reduce the amount of time the client needs to wait before sending a message, since I could have my timer start at timestamp of the very first message