FAQ
Why should I use rabbit-client?
rabbit-client
provides a high level abstraction to consume and produce asynchronous events with some level of warranty that event don't will be lost in case of failures.
What type of job can I use?
The Subscribe
class use a task
that's nothing more that an awaitable. This will be executed when a event is received by queue, so can you use a task to process IO or CPU bound jobs.
Why use Dead Letter Exchange?
A DLQ will assist you to dosen't lost an event that fail for some reason. So if somehow the task fails, raising any kind of exception, the event will be sent to DLQ and after some delay defined by rabbit-client
strategy it will be back in the main queue so that the application can try to process it again.
How optimize concurrent jobs?
Just increase the value of concurrent
attribute in the Subscribe.
However if the job consists in CPU bound or long running tasks workloads it's a good choice decrease the value.
Why use publisher-confirms?
The RabbitMQ documentation are a great place, so I don't repeat myself =)
Check this links: