You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new option that can limit the parallelism per pipeline. For example, if you use the SQS FIFO queue, at the moment, you might receive three messages at the same time. The workers might serve these three messages randomly (e.g. 2->1->3). For the cases when that is required to follow the FIFO order (for example), we need a new option to consume a new message from any queue in a particular order.
For example: parallelism: 1: would mean we can have only 1 message (JOB) in the RR's internal queue before the ACK. So, the SQS FIFO order will be preserved.
parallelism: N: would mean we can have N messages simultaneously in the internal priorities queue.
EDIT:
AMQP -> supports this option, no changes are needed.
SQS -> doesn't support, add the prefetch configuration option.
Beanstalk -> doesn't support, add the prefetch configuration option.
NATS -> doesn't support, add the prefetch configuration option.
Kafka -> not sure, need to investigate.
in-memory -> update the prefetch configuration option.
localdb -> update the prefetch configuration option.
The text was updated successfully, but these errors were encountered:
Yeah, the AMQP driver already has this option via prefetch. I'm unsure about Kafka (max.poll.records) and SQS (Java SDK has smt like batches, but I don't see this option for the Golang driver).
I think that the more natural and, let's say, 'expected' name for this option is - prefetch.
But on the other hand, we have drivers (like amqp) that support this option in that 'expected' way, and our new option will conflict with the natural option, which in my opinion, will confuse users. It's like prefetch <-> rr_prefetch 馃槙.
I think adding the prefetch option to the drivers that don't support that option via their configuration is essential (by configuration here, I mean natural driver's configuration).
Plugin
JOBS
I have an idea!
A new option that can limit the parallelism per pipeline. For example, if you use the SQS FIFO queue, at the moment, you might receive three messages at the same time. The workers might serve these three messages randomly (e.g. 2->1->3). For the cases when that is required to follow the FIFO order (for example), we need a new option to consume a new message from any queue in a particular order.
For example:
parallelism: 1
: would mean we can have only 1 message (JOB) in the RR's internal queue before the ACK. So, the SQS FIFO order will be preserved.parallelism: N
: would mean we can have N messages simultaneously in the internal priorities queue.EDIT:
AMQP
-> supports this option, no changes are needed.SQS
-> doesn't support, add theprefetch
configuration option.Beanstalk
-> doesn't support, add theprefetch
configuration option.NATS
-> doesn't support, add theprefetch
configuration option.Kafka
-> not sure, need to investigate.in-memory
-> update theprefetch
configuration option.localdb
-> update theprefetch
configuration option.The text was updated successfully, but these errors were encountered: