Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After submitting a few PR's I thought it might be a good idea to share an operator that's been tremendously useful for me.
The scenario I'm dealing with is a subscription (i.e. to a message broker) that emits pretty fast. I'm handling messages from this queue in batches.
Using a plain old
bufferCount
left me in trouble because messages slow down in the evening. During the slowdown some messages would wait a long time in the buffer before being handled (sometimes not until the next day 😱)I needed an operator that would "flush" the buffer every so often in case of slow messages.
Introducing
bufferCountOrTime
🎉I changed my code from:
to
And all is well! At worst a message waits a second in the buffer before being handled 🚀