# Workers

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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bullmq.net/http-api/workers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
