Handling reliable_push buffer full #5909
stevenharman
started this conversation in
Ideas
Replies: 1 comment 9 replies
-
I'm thinking it would be smarter to raise an error rather than dropping the job. This is the point of backpressure: once the local queue fills up, it should break rather than silently failing. Reliable push is designed for transient network hiccups, not a sustained outage. wdyt? |
Beta Was this translation helpful? Give feedback.
9 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We are enabling
reliable_push!
and were digging into what exactly happens if we fill up the local, in-memory queue before a connection to Redis can be re-established. Right now, it looks like the job is dropped on the floor (expected) and anerror
level log line is emitted of the form[ReliablePush] Reached job backup limit, discarding job due to #{ex.class}: #{ex.message}
.We're wondering if you'd be up for adding instrumentation hooks around the various points of the
Sidekiq::ReliableClient
where we're unable to push a job to Redis. For example, maybe we'd like to log a little more information about the job so we can "re-create" it later, if needed? Or perhaps more likely, allow us to raise an error in the event the job could not be pushed onto the local queue?Beta Was this translation helpful? Give feedback.
All reactions