Why should I use rabbit-client?
rabbit-client provides a high level abstraction to consume and produce asyncronous events using RabbitMQ.
What type of job can I use?
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 some exception, the event will be sent to DLQ and after an x5 time factor 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 and for CPU bound or long running tasks workloads decrease the value.