In BullMQ, workers are the things that process jobs. In BullMQ Proxy, the workers are defined as a bunch of options that affects their behaviour as well as an endpoint that will be called by the proxy everytime a job should be processed.

The endpoint is what actually performs the job processing. For example, we could have an endpoint connected to a lambda function, so everytime a job needs to be processed, the job data and its options are passed to the lambda and the proxy will wait for the lambda to complete before considering the job to have been completed.

The endpoint could obviously also fail, it could timeout or return a status code different from 200 to 209, which would be considered a failure, resulting in the job being moved to the failed set in BullMQ.

The workers that are defined in BullMQ Proxy are persisted in Redis™, so that when the proxy restarts, it will remember which workers that should be running.

In the next pages we will go through the details of how the workers are used and which options we have at our disposal.

Last updated