Every worker is associated to an endpoint. An endpoint can be seen as a webhook. When we register (add) a worker we are telling the proxy which endpoint should be called for every job that needs to be processed.

The endpoint must be a valid url, either http or https, and it must be powerful enough to handle the load that will be generated by BullMQ. In would also be possible to enable rate-limits, so that the endpoint is not called more often than some predefined rate.

The endpoint itself may take some time to actually process the job. Here it is important to consider things such as timeouts, which will be handled by the proxy as if the job had failed. Most services have limitations on how long an http request can be, whereas AWS Gateway has a limit of 30 seconds, AWS lambdas have a maximum duration of 15 minutes. Your millage may vary depending on where you deploy the services to be called by the proxy.

Last updated