NATS driver supported in RR since
v2.5.0 and includes only NATS JetStream support.
version: "3" nats: addr: "demo.nats.io" jobs: num_pollers: 10 pipeline_size: 100000 pool: num_workers: 10 max_jobs: 0 allocate_timeout: 60s destroy_timeout: 60s pipelines: test-1: driver: nats config: # Pipeline priority # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10. priority: 2 # NATS prefetch # Messages to read into the channel prefetch: 100 # Consume any payload type (not only Jobs structured) # Default: false consume_all: false # NATS subject # Default: default subject: default # NATS stream # Default: default-stream stream: foo # The consumer will only start receiving messages that were created after the consumer was created # Default: false (deliver all messages from the stream beginning) deliver_new: true # Consumer rate-limiter in bytes https://docs.nats.io/jetstream/concepts/consumers#ratelimit # Default: 1000 rate_limit: 100 # Delete the stream when after pipeline was stopped # Default: false delete_stream_on_stop: false # Delete message from the stream after successful acknowledge # Default: false delete_after_ack: false
Here is a detailed description of each of the nats-specific options:
subject - nats subject.
stream - stream name.
deliver_new - the consumer will only start receiving messages that were created after the consumer was created.
rate_limit - NATS rate limiter.
delete_stream_on_stop - delete the whole stream when pipeline stopped.
delete_after_ack - delete message after it successfully acknowledged.
consume_all - By default, RR supports only
Jobs structures from the queue. Set this option to true if you want to
also consume the raw payloads.