# Table of Contents - [v5 | bullmq - v5.41.8](#v5-bullmq-v5-41-8) - [ChildCommand | bullmq - v5.41.8](#childcommand-bullmq-v5-41-8) - [ClientType | bullmq - v5.41.8](#clienttype-bullmq-v5-41-8) - [ParentCommand | bullmq - v5.41.8](#parentcommand-bullmq-v5-41-8) - [SpanKind | bullmq - v5.41.8](#spankind-bullmq-v5-41-8) - [bullmq - v5.41.8](#bullmq-v5-41-8) - [ErrorCode | bullmq - v5.41.8](#errorcode-bullmq-v5-41-8) - [AsyncFifoQueue | bullmq - v5.41.8](#asyncfifoqueue-bullmq-v5-41-8) - [TelemetryAttributes | bullmq - v5.41.8](#telemetryattributes-bullmq-v5-41-8) - [MetricsTime | bullmq - v5.41.8](#metricstime-bullmq-v5-41-8) - [Backoffs | bullmq - v5.41.8](#backoffs-bullmq-v5-41-8) - [Child | bullmq - v5.41.8](#child-bullmq-v5-41-8) - [ChildPool | bullmq - v5.41.8](#childpool-bullmq-v5-41-8) - [ChildProcessor | bullmq - v5.41.8](#childprocessor-bullmq-v5-41-8) - [DelayedError | bullmq - v5.41.8](#delayederror-bullmq-v5-41-8) - [v4 | bullmq - v5.41.8](#v4-bullmq-v5-41-8) - [FlowProducer | bullmq - v5.41.8](#flowproducer-bullmq-v5-41-8) - [v3 | bullmq - v5.41.8](#v3-bullmq-v5-41-8) - [v2 | bullmq - v5.41.8](#v2-bullmq-v5-41-8) - [Job | bullmq - v5.41.8](#job-bullmq-v5-41-8) - [v1 | bullmq - v5.41.8](#v1-bullmq-v5-41-8) - [JobScheduler | bullmq - v5.41.8](#jobscheduler-bullmq-v5-41-8) - [QueueEventsProducer | bullmq - v5.41.8](#queueeventsproducer-bullmq-v5-41-8) - [Queue | bullmq - v5.41.8](#queue-bullmq-v5-41-8) - [QueueGetters | bullmq - v5.41.8](#queuegetters-bullmq-v5-41-8) - [QueueKeys | bullmq - v5.41.8](#queuekeys-bullmq-v5-41-8) - [RedisConnection | bullmq - v5.41.8](#redisconnection-bullmq-v5-41-8) - [QueueBase | bullmq - v5.41.8](#queuebase-bullmq-v5-41-8) - [QueueEvents | bullmq - v5.41.8](#queueevents-bullmq-v5-41-8) - [RateLimitError | bullmq - v5.41.8](#ratelimiterror-bullmq-v5-41-8) - [UnrecoverableError | bullmq - v5.41.8](#unrecoverableerror-bullmq-v5-41-8) - [Repeat | bullmq - v5.41.8](#repeat-bullmq-v5-41-8) - [WaitingChildrenError | bullmq - v5.41.8](#waitingchildrenerror-bullmq-v5-41-8) - [Worker | bullmq - v5.41.8](#worker-bullmq-v5-41-8) - [AddNodeOpts | bullmq - v5.41.8](#addnodeopts-bullmq-v5-41-8) - [Scripts | bullmq - v5.41.8](#scripts-bullmq-v5-41-8) - [AddChildrenOpts | bullmq - v5.41.8](#addchildrenopts-bullmq-v5-41-8) - [AdvancedOptions | bullmq - v5.41.8](#advancedoptions-bullmq-v5-41-8) - [AdvancedRepeatOptions | bullmq - v5.41.8](#advancedrepeatoptions-bullmq-v5-41-8) - [Attributes | bullmq - v5.41.8](#attributes-bullmq-v5-41-8) - [BackoffOptions | bullmq - v5.41.8](#backoffoptions-bullmq-v5-41-8) - [BaseJobOptions | bullmq - v5.41.8](#basejoboptions-bullmq-v5-41-8) - [BaseOptions | bullmq - v5.41.8](#baseoptions-bullmq-v5-41-8) - [BuiltInStrategies | bullmq - v5.41.8](#builtinstrategies-bullmq-v5-41-8) - [ChildMessage | bullmq - v5.41.8](#childmessage-bullmq-v5-41-8) - [ContextManager | bullmq - v5.41.8](#contextmanager-bullmq-v5-41-8) - [DebounceOptions | bullmq - v5.41.8](#debounceoptions-bullmq-v5-41-8) - [DefaultJobOptions | bullmq - v5.41.8](#defaultjoboptions-bullmq-v5-41-8) - [DependenciesOpts | bullmq - v5.41.8](#dependenciesopts-bullmq-v5-41-8) - [FlowJobBase | bullmq - v5.41.8](#flowjobbase-bullmq-v5-41-8) - [FlowOpts | bullmq - v5.41.8](#flowopts-bullmq-v5-41-8) - [FlowProducerListener | bullmq - v5.41.8](#flowproducerlistener-bullmq-v5-41-8) - [GetNextJobOptions | bullmq - v5.41.8](#getnextjoboptions-bullmq-v5-41-8) - [IConnection | bullmq - v5.41.8](#iconnection-bullmq-v5-41-8) - [IoredisListener | bullmq - v5.41.8](#ioredislistener-bullmq-v5-41-8) - [JobJson | bullmq - v5.41.8](#jobjson-bullmq-v5-41-8) - [JobJsonRaw | bullmq - v5.41.8](#jobjsonraw-bullmq-v5-41-8) - [JobNode | bullmq - v5.41.8](#jobnode-bullmq-v5-41-8) - [JobSchedulerJson | bullmq - v5.41.8](#jobschedulerjson-bullmq-v5-41-8) - [JobSchedulerTemplateJson | bullmq - v5.41.8](#jobschedulertemplatejson-bullmq-v5-41-8) - [KeepJobs | bullmq - v5.41.8](#keepjobs-bullmq-v5-41-8) - [Metrics | bullmq - v5.41.8](#metrics-bullmq-v5-41-8) - [MetricsOptions | bullmq - v5.41.8](#metricsoptions-bullmq-v5-41-8) - [MinimalJob | bullmq - v5.41.8](#minimaljob-bullmq-v5-41-8) - [MoveToDelayedOpts | bullmq - v5.41.8](#movetodelayedopts-bullmq-v5-41-8) - [MoveToWaitingChildrenOpts | bullmq - v5.41.8](#movetowaitingchildrenopts-bullmq-v5-41-8) - [NodeOpts | bullmq - v5.41.8](#nodeopts-bullmq-v5-41-8) - [ObliterateOpts | bullmq - v5.41.8](#obliterateopts-bullmq-v5-41-8) - [Parent | bullmq - v5.41.8](#parent-bullmq-v5-41-8) - [ParentKeys | bullmq - v5.41.8](#parentkeys-bullmq-v5-41-8) - [ParentMessage | bullmq - v5.41.8](#parentmessage-bullmq-v5-41-8) - [QueueBaseOptions | bullmq - v5.41.8](#queuebaseoptions-bullmq-v5-41-8) - [QueueEventsListener | bullmq - v5.41.8](#queueeventslistener-bullmq-v5-41-8) - [QueueEventsOptions | bullmq - v5.41.8](#queueeventsoptions-bullmq-v5-41-8) - [QueueListener | bullmq - v5.41.8](#queuelistener-bullmq-v5-41-8) - [QueueOptions | bullmq - v5.41.8](#queueoptions-bullmq-v5-41-8) - [RateLimiterOptions | bullmq - v5.41.8](#ratelimiteroptions-bullmq-v5-41-8) - [RawCommand | bullmq - v5.41.8](#rawcommand-bullmq-v5-41-8) - [Receiver | bullmq - v5.41.8](#receiver-bullmq-v5-41-8) - [RepeatOptions | bullmq - v5.41.8](#repeatoptions-bullmq-v5-41-8) - [SandboxedOptions | bullmq - v5.41.8](#sandboxedoptions-bullmq-v5-41-8) - [RepeatBaseOptions | bullmq - v5.41.8](#repeatbaseoptions-bullmq-v5-41-8) - [Span | bullmq - v5.41.8](#span-bullmq-v5-41-8) - [SandboxedJob | bullmq - v5.41.8](#sandboxedjob-bullmq-v5-41-8) - [Telemetry | bullmq - v5.41.8](#telemetry-bullmq-v5-41-8) - [Tracer | bullmq - v5.41.8](#tracer-bullmq-v5-41-8) - [RetryJobOpts | bullmq - v5.41.8](#retryjobopts-bullmq-v5-41-8) - [SpanOptions | bullmq - v5.41.8](#spanoptions-bullmq-v5-41-8) - [WorkerListener | bullmq - v5.41.8](#workerlistener-bullmq-v5-41-8) - [WorkerOptions | bullmq - v5.41.8](#workeroptions-bullmq-v5-41-8) - [AttributeValue | bullmq - v5.41.8](#attributevalue-bullmq-v5-41-8) - [BackoffStrategy | bullmq - v5.41.8](#backoffstrategy-bullmq-v5-41-8) - [ClusterOptions | bullmq - v5.41.8](#clusteroptions-bullmq-v5-41-8) - [ConnectionOptions | bullmq - v5.41.8](#connectionoptions-bullmq-v5-41-8) - [EntryId | bullmq - v5.41.8](#entryid-bullmq-v5-41-8) - [CompressableJobOptions | bullmq - v5.41.8](#compressablejoboptions-bullmq-v5-41-8) - [BulkJobOptions | bullmq - v5.41.8](#bulkjoboptions-bullmq-v5-41-8) - [EntryRaw | bullmq - v5.41.8](#entryraw-bullmq-v5-41-8) - [Exception | bullmq - v5.41.8](#exception-bullmq-v5-41-8) - [ExceptionType | bullmq - v5.41.8](#exceptiontype-bullmq-v5-41-8) - [FinishedPropValAttribute | bullmq - v5.41.8](#finishedpropvalattribute-bullmq-v5-41-8) - [FinishedStatus | bullmq - v5.41.8](#finishedstatus-bullmq-v5-41-8) - [FlowJob | bullmq - v5.41.8](#flowjob-bullmq-v5-41-8) - [FlowQueuesOpts | bullmq - v5.41.8](#flowqueuesopts-bullmq-v5-41-8) - [FlowChildJob | bullmq - v5.41.8](#flowchildjob-bullmq-v5-41-8) - [JobData | bullmq - v5.41.8](#jobdata-bullmq-v5-41-8) - [JobSchedulerTemplateOptions | bullmq - v5.41.8](#jobschedulertemplateoptions-bullmq-v5-41-8) - [JobJsonSandbox | bullmq - v5.41.8](#jobjsonsandbox-bullmq-v5-41-8) - [JobType | bullmq - v5.41.8](#jobtype-bullmq-v5-41-8) - [JobsOptions | bullmq - v5.41.8](#jobsoptions-bullmq-v5-41-8) - [JobState | bullmq - v5.41.8](#jobstate-bullmq-v5-41-8) - [KeysMap | bullmq - v5.41.8](#keysmap-bullmq-v5-41-8) - [MinimalQueue | bullmq - v5.41.8](#minimalqueue-bullmq-v5-41-8) - [ParentOpts | bullmq - v5.41.8](#parentopts-bullmq-v5-41-8) - [RedisClient | bullmq - v5.41.8](#redisclient-bullmq-v5-41-8) - [RedisOptions | bullmq - v5.41.8](#redisoptions-bullmq-v5-41-8) - [RedisJobOptions | bullmq - v5.41.8](#redisjoboptions-bullmq-v5-41-8) - [Processor | bullmq - v5.41.8](#processor-bullmq-v5-41-8) - [RepeatStrategy | bullmq - v5.41.8](#repeatstrategy-bullmq-v5-41-8) - [RepeatableOptions | bullmq - v5.41.8](#repeatableoptions-bullmq-v5-41-8) - [RepeatableJob | bullmq - v5.41.8](#repeatablejob-bullmq-v5-41-8) - [StreamName | bullmq - v5.41.8](#streamname-bullmq-v5-41-8) - [SandboxedJobProcessor | bullmq - v5.41.8](#sandboxedjobprocessor-bullmq-v5-41-8) - [StreamReadRaw | bullmq - v5.41.8](#streamreadraw-bullmq-v5-41-8) - [Time | bullmq - v5.41.8](#time-bullmq-v5-41-8) - [DELAYED_ERROR | bullmq - v5.41.8](#delayed-error-bullmq-v5-41-8) - [DELAY_TIME_1 | bullmq - v5.41.8](#delay-time-1-bullmq-v5-41-8) - [PRIORITY_LIMIT | bullmq - v5.41.8](#priority-limit-bullmq-v5-41-8) - [DELAY_TIME_5 | bullmq - v5.41.8](#delay-time-5-bullmq-v5-41-8) - [RATE_LIMIT_ERROR | bullmq - v5.41.8](#rate-limit-error-bullmq-v5-41-8) - [QUEUE_EVENT_SUFFIX | bullmq - v5.41.8](#queue-event-suffix-bullmq-v5-41-8) - [UNRECOVERABLE_ERROR | bullmq - v5.41.8](#unrecoverable-error-bullmq-v5-41-8) - [WAITING_CHILDREN_ERROR | bullmq - v5.41.8](#waiting-children-error-bullmq-v5-41-8) - [clientCommandMessageReg | bullmq - v5.41.8](#clientcommandmessagereg-bullmq-v5-41-8) - [errorObject | bullmq - v5.41.8](#errorobject-bullmq-v5-41-8) - [asyncSend | bullmq - v5.41.8](#asyncsend-bullmq-v5-41-8) - [array2obj | bullmq - v5.41.8](#array2obj-bullmq-v5-41-8) - [childSend | bullmq - v5.41.8](#childsend-bullmq-v5-41-8) - [decreaseMaxListeners | bullmq - v5.41.8](#decreasemaxlisteners-bullmq-v5-41-8) - [delay | bullmq - v5.41.8](#delay-bullmq-v5-41-8) - [defaultRepeatStrategy | bullmq - v5.41.8](#defaultrepeatstrategy-bullmq-v5-41-8) - [errorToJSON | bullmq - v5.41.8](#errortojson-bullmq-v5-41-8) - [getNextMillis | bullmq - v5.41.8](#getnextmillis-bullmq-v5-41-8) - [getParentKey | bullmq - v5.41.8](#getparentkey-bullmq-v5-41-8) - [increaseMaxListeners | bullmq - v5.41.8](#increasemaxlisteners-bullmq-v5-41-8) --- # v5 | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](v5.html) Module v5 ========= ### Index ### Enumerations [ChildCommand](../enums/v5.ChildCommand.html) [ClientType](../enums/v5.ClientType.html) [ErrorCode](../enums/v5.ErrorCode.html) [MetricsTime](../enums/v5.MetricsTime.html) [ParentCommand](../enums/v5.ParentCommand.html) [SpanKind](../enums/v5.SpanKind.html) [TelemetryAttributes](../enums/v5.TelemetryAttributes.html) ### Classes [AsyncFifoQueue](../classes/v5.AsyncFifoQueue.html) [Backoffs](../classes/v5.Backoffs.html) [Child](../classes/v5.Child.html) [ChildPool](../classes/v5.ChildPool.html) [ChildProcessor](../classes/v5.ChildProcessor.html) [DelayedError](../classes/v5.DelayedError.html) [FlowProducer](../classes/v5.FlowProducer.html) [Job](../classes/v5.Job.html) [JobScheduler](../classes/v5.JobScheduler.html) [Queue](../classes/v5.Queue.html) [QueueBase](../classes/v5.QueueBase.html) [QueueEvents](../classes/v5.QueueEvents.html) [QueueEventsProducer](../classes/v5.QueueEventsProducer.html) [QueueGetters](../classes/v5.QueueGetters.html) [QueueKeys](../classes/v5.QueueKeys.html) [RateLimitError](../classes/v5.RateLimitError.html) [RedisConnection](../classes/v5.RedisConnection.html) [Repeat](../classes/v5.Repeat.html) [Scripts](../classes/v5.Scripts.html) [UnrecoverableError](../classes/v5.UnrecoverableError.html) [WaitingChildrenError](../classes/v5.WaitingChildrenError.html) [Worker](../classes/v5.Worker.html) ### Interfaces [AddChildrenOpts](../interfaces/v5.AddChildrenOpts.html) [AddNodeOpts](../interfaces/v5.AddNodeOpts.html) [AdvancedOptions](../interfaces/v5.AdvancedOptions.html) [AdvancedRepeatOptions](../interfaces/v5.AdvancedRepeatOptions.html) [Attributes](../interfaces/v5.Attributes.html) [BackoffOptions](../interfaces/v5.BackoffOptions.html) [BaseJobOptions](../interfaces/v5.BaseJobOptions.html) [BaseOptions](../interfaces/v5.BaseOptions.html) [BuiltInStrategies](../interfaces/v5.BuiltInStrategies.html) [ChildMessage](../interfaces/v5.ChildMessage.html) [ContextManager](../interfaces/v5.ContextManager.html) [DebounceOptions](../interfaces/v5.DebounceOptions.html) [DefaultJobOptions](../interfaces/v5.DefaultJobOptions.html) [DependenciesOpts](../interfaces/v5.DependenciesOpts.html) [FlowJobBase](../interfaces/v5.FlowJobBase.html) [FlowOpts](../interfaces/v5.FlowOpts.html) [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) [GetNextJobOptions](../interfaces/v5.GetNextJobOptions.html) [IConnection](../interfaces/v5.IConnection.html) [IoredisListener](../interfaces/v5.IoredisListener.html) [JobJson](../interfaces/v5.JobJson.html) [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) [JobNode](../interfaces/v5.JobNode.html) [JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) [JobSchedulerTemplateJson](../interfaces/v5.JobSchedulerTemplateJson.html) [KeepJobs](../interfaces/v5.KeepJobs.html) [Metrics](../interfaces/v5.Metrics.html) [MetricsOptions](../interfaces/v5.MetricsOptions.html) [MinimalJob](../interfaces/v5.MinimalJob.html) [MoveToDelayedOpts](../interfaces/v5.MoveToDelayedOpts.html) [MoveToWaitingChildrenOpts](../interfaces/v5.MoveToWaitingChildrenOpts.html) [NodeOpts](../interfaces/v5.NodeOpts.html) [ObliterateOpts](../interfaces/v5.ObliterateOpts.html) [Parent](../interfaces/v5.Parent.html) [ParentKeys](../interfaces/v5.ParentKeys.html) [ParentMessage](../interfaces/v5.ParentMessage.html) [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) [QueueEventsOptions](../interfaces/v5.QueueEventsOptions.html) [QueueListener](../interfaces/v5.QueueListener.html) [QueueOptions](../interfaces/v5.QueueOptions.html) [RateLimiterOptions](../interfaces/v5.RateLimiterOptions.html) [RawCommand](../interfaces/v5.RawCommand.html) [Receiver](../interfaces/v5.Receiver.html) [RepeatBaseOptions](../interfaces/v5.RepeatBaseOptions.html) [RepeatOptions](../interfaces/v5.RepeatOptions.html) [RetryJobOpts](../interfaces/v5.RetryJobOpts.html) [SandboxedJob](../interfaces/v5.SandboxedJob.html) [SandboxedOptions](../interfaces/v5.SandboxedOptions.html) [Span](../interfaces/v5.Span.html) [SpanOptions](../interfaces/v5.SpanOptions.html) [Telemetry](../interfaces/v5.Telemetry.html) [Tracer](../interfaces/v5.Tracer.html) [WorkerListener](../interfaces/v5.WorkerListener.html) [WorkerOptions](../interfaces/v5.WorkerOptions.html) ### Type Aliases [AttributeValue](../types/v5.AttributeValue.html) [BackoffStrategy](../types/v5.BackoffStrategy.html) [BulkJobOptions](../types/v5.BulkJobOptions.html) [ClusterOptions](../types/v5.ClusterOptions.html) [CompressableJobOptions](../types/v5.CompressableJobOptions.html) [ConnectionOptions](../types/v5.ConnectionOptions.html) [EntryId](../types/v5.EntryId.html) [EntryRaw](../types/v5.EntryRaw.html) [Exception](../types/v5.Exception.html) [ExceptionType](../types/v5.ExceptionType.html) [FinishedPropValAttribute](../types/v5.FinishedPropValAttribute.html) [FinishedStatus](../types/v5.FinishedStatus.html) [FlowChildJob](../types/v5.FlowChildJob.html) [FlowJob](../types/v5.FlowJob.html) [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) [JobData](../types/v5.JobData.html) [JobJsonSandbox](../types/v5.JobJsonSandbox.html) [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) [JobState](../types/v5.JobState.html) [JobType](../types/v5.JobType.html) [JobsOptions](../types/v5.JobsOptions.html) [KeysMap](../types/v5.KeysMap.html) [MinimalQueue](../types/v5.MinimalQueue.html) [ParentOpts](../types/v5.ParentOpts.html) [Processor](../types/v5.Processor.html) [RedisClient](../types/v5.RedisClient.html) [RedisJobOptions](../types/v5.RedisJobOptions.html) [RedisOptions](../types/v5.RedisOptions.html) [RepeatStrategy](../types/v5.RepeatStrategy.html) [RepeatableJob](../types/v5.RepeatableJob.html) [RepeatableOptions](../types/v5.RepeatableOptions.html) [SandboxedJobProcessor](../types/v5.SandboxedJobProcessor.html) [StreamName](../types/v5.StreamName.html) [StreamReadRaw](../types/v5.StreamReadRaw.html) [Time](../types/v5.Time.html) ### Variables [DELAYED\_ERROR](../variables/v5.DELAYED_ERROR.html) [DELAY\_TIME\_1](../variables/v5.DELAY_TIME_1.html) [DELAY\_TIME\_5](../variables/v5.DELAY_TIME_5.html) [PRIORITY\_LIMIT](../variables/v5.PRIORITY_LIMIT.html) [QUEUE\_EVENT\_SUFFIX](../variables/v5.QUEUE_EVENT_SUFFIX.html) [RATE\_LIMIT\_ERROR](../variables/v5.RATE_LIMIT_ERROR.html) [UNRECOVERABLE\_ERROR](../variables/v5.UNRECOVERABLE_ERROR.html) [WAITING\_CHILDREN\_ERROR](../variables/v5.WAITING_CHILDREN_ERROR.html) [clientCommandMessageReg](../variables/v5.clientCommandMessageReg.html) [errorObject](../variables/v5.errorObject.html) ### Functions [array2obj](../functions/v5.array2obj.html) [asyncSend](../functions/v5.asyncSend.html) [childSend](../functions/v5.childSend.html) [decreaseMaxListeners](../functions/v5.decreaseMaxListeners.html) [defaultRepeatStrategy](../functions/v5.defaultRepeatStrategy.html) [delay](../functions/v5.delay.html) [errorToJSON](../functions/v5.errorToJSON.html) [getNextMillis](../functions/v5.getNextMillis.html) [getParentKey](../functions/v5.getParentKey.html) [increaseMaxListeners](../functions/v5.increaseMaxListeners.html) [invertObject](../functions/v5.invertObject.html) [isEmpty](../functions/v5.isEmpty.html) [isNotConnectionError](../functions/v5.isNotConnectionError.html) [isRedisCluster](../functions/v5.isRedisCluster.html) [isRedisInstance](../functions/v5.isRedisInstance.html) [isRedisVersionLowerThan](../functions/v5.isRedisVersionLowerThan.html) [lengthInUtf8Bytes](../functions/v5.lengthInUtf8Bytes.html) [objectToFlatArray](../functions/v5.objectToFlatArray.html) [parseObjectValues](../functions/v5.parseObjectValues.html) [raw2NextJobData](../functions/v5.raw2NextJobData.html) [removeAllQueueData](../functions/v5.removeAllQueueData.html) [removeUndefinedFields](../functions/v5.removeUndefinedFields.html) [toString](../functions/v5.toString.html) [trace](../functions/v5.trace.html) [tryCatch](../functions/v5.tryCatch.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ChildCommand | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ChildCommand](v5.ChildCommand.html) Enumeration ChildCommand ======================== ##### Index ### Enumeration Members [GetChildrenValuesResponse](v5.ChildCommand.html#GetChildrenValuesResponse) [Init](v5.ChildCommand.html#Init) [Start](v5.ChildCommand.html#Start) [Stop](v5.ChildCommand.html#Stop) Enumeration Members ------------------- ### GetChildrenValuesResponse[](#GetChildrenValuesResponse) GetChildrenValuesResponse: 3 ### Init[](#Init) Init: 0 ### Start[](#Start) Start: 1 ### Stop[](#Stop) Stop: 2 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [GetChildrenValuesResponse](#GetChildrenValuesResponse) * [Init](#Init) * [Start](#Start) * [Stop](#Stop) Generated using [TypeDoc](https://typedoc.org/) --- # ClientType | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ClientType](v5.ClientType.html) Enumeration ClientType ====================== ##### Index ### Enumeration Members [blocking](v5.ClientType.html#blocking) [normal](v5.ClientType.html#normal) Enumeration Members ------------------- ### blocking[](#blocking) blocking: "blocking" ### normal[](#normal) normal: "normal" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [blocking](#blocking) * [normal](#normal) Generated using [TypeDoc](https://typedoc.org/) --- # ParentCommand | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ParentCommand](v5.ParentCommand.html) Enumeration ParentCommand ========================= ##### Index ### Enumeration Members [Completed](v5.ParentCommand.html#Completed) [Error](v5.ParentCommand.html#Error) [Failed](v5.ParentCommand.html#Failed) [GetChildrenValues](v5.ParentCommand.html#GetChildrenValues) [InitCompleted](v5.ParentCommand.html#InitCompleted) [InitFailed](v5.ParentCommand.html#InitFailed) [Log](v5.ParentCommand.html#Log) [MoveToDelayed](v5.ParentCommand.html#MoveToDelayed) [Progress](v5.ParentCommand.html#Progress) [Update](v5.ParentCommand.html#Update) Enumeration Members ------------------- ### Completed[](#Completed) Completed: 0 ### Error[](#Error) Error: 1 ### Failed[](#Failed) Failed: 2 ### GetChildrenValues[](#GetChildrenValues) GetChildrenValues: 9 ### InitCompleted[](#InitCompleted) InitCompleted: 4 ### InitFailed[](#InitFailed) InitFailed: 3 ### Log[](#Log) Log: 5 ### MoveToDelayed[](#MoveToDelayed) MoveToDelayed: 6 ### Progress[](#Progress) Progress: 7 ### Update[](#Update) Update: 8 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [Completed](#Completed) * [Error](#Error) * [Failed](#Failed) * [GetChildrenValues](#GetChildrenValues) * [InitCompleted](#InitCompleted) * [InitFailed](#InitFailed) * [Log](#Log) * [MoveToDelayed](#MoveToDelayed) * [Progress](#Progress) * [Update](#Update) Generated using [TypeDoc](https://typedoc.org/) --- # SpanKind | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [SpanKind](v5.SpanKind.html) Enumeration SpanKind ==================== ##### Index ### Enumeration Members [CLIENT](v5.SpanKind.html#CLIENT) [CONSUMER](v5.SpanKind.html#CONSUMER) [INTERNAL](v5.SpanKind.html#INTERNAL) [PRODUCER](v5.SpanKind.html#PRODUCER) [SERVER](v5.SpanKind.html#SERVER) Enumeration Members ------------------- ### CLIENT[](#CLIENT) CLIENT: 2 ### CONSUMER[](#CONSUMER) CONSUMER: 4 ### INTERNAL[](#INTERNAL) INTERNAL: 0 ### PRODUCER[](#PRODUCER) PRODUCER: 3 ### SERVER[](#SERVER) SERVER: 1 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [CLIENT](#CLIENT) * [CONSUMER](#CONSUMER) * [INTERNAL](#INTERNAL) * [PRODUCER](#PRODUCER) * [SERVER](#SERVER) Generated using [TypeDoc](https://typedoc.org/) --- # bullmq - v5.41.8 bullmq - v5.41.8 ---------------- ![](https://user-images.githubusercontent.com/95200/143832033-32e868df-f3b0-4251-97fb-c64809a43d36.png) The fastest, most reliable, Redis-based distributed queue for Node. Carefully written for rock solid stability and atomicity. Read the [documentation](https://docs.bullmq.io) [![](https://img.shields.io/badge/Slack-4A154B)](https://join.slack.com/t/bullmq/shared_invite/zt-1nbtpk6mv-TItWpF9jf3k4yrCaS0PPZA) [![](https://badge.fury.io/js/bullmq.svg)](https://badge.fury.io/js/bullmq) [![](https://coveralls.io/repos/github/taskforcesh/bullmq/badge.svg?branch=master)](https://coveralls.io/github/taskforcesh/bullmq?branch=master) [![](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![](https://img.shields.io/badge/Gurubase-Ask%20BullMQ%20Guru-006BFF)](https://gurubase.io/g/bullmq) _Follow [@manast](https://twitter.com/manast) for \*important\* Bull/BullMQ/BullMQ-Pro news and updates!_ [🛠 Tutorials](#md:🛠-tutorials) ================================= You can find tutorials and news in this blog: [https://blog.taskforce.sh/](https://blog.taskforce.sh/) [News 🚀](#md:news-🚀) ======================= [🌐 Language agnostic BullMQ](#md:🌐-language-agnostic-bullmq) --------------------------------------------------------------- Do you need to work with BullMQ on platforms other than Node.js? If so, check out the [BullMQ Proxy](https://github.com/taskforcesh/bullmq-proxy) [Official FrontEnd](#md:official-frontend) =========================================== [![Taskforce.sh, Inc](https://taskforce.sh/assets/logo_square.png)](https://taskforce.sh) Supercharge your queues with a professional front end: * Get a complete overview of all your queues. * Inspect jobs, search, retry, or promote delayed jobs. * Metrics and statistics. * and many more features. Sign up at [Taskforce.sh](https://taskforce.sh) [🚀 Sponsors 🚀](#md:🚀-sponsors-🚀) ===================================== | | | | --- | --- | | [![Dragonfly](https://raw.githubusercontent.com/dragonflydb/dragonfly/main/.github/images/logo-full.svg)](https://www.dragonflydb.io/) | Dragonfly is a new Redis™ drop-in replacement that is fully compatible with BullMQ and brings some important advantages over Redis™ such as massive better performance by utilizing all CPU cores available and faster and more memory efficient data structures. Read more [here](https://www.dragonflydb.io/docs/integrations/bullmq)
on how to use it with BullMQ. | [Used by](#md:used-by) ======================= Some notable organizations using BullMQ: | | | | | | --- | --- | --- | --- | | [![Microsoft](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FUvwInTAmk7hxAViDwJzU%2Fclipart1565701.png?alt=media)](https://github.com/microsoft/lage) | [![Vendure](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FvT30DUqsi61gL8edn3R2%2Fwordmark-logo.png?alt=media)](https://github.com/vendure-ecommerce/vendure) | [![Datawrapper](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FCJ5XmotpBBsuSgD8CilC%2Fdatawrapper-logo.png?alt=media)](https://github.com/datawrapper/datawrapper) | [![Nest](https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FfAcGye182utFUtPKdLqJ%2FScreenshot%202022-02-15%20at%2011.32.39.png?alt=media&token=29feb550-f0bc-467d-a290-f700701d7d15)](https://github.com/nestjs/bull/tree/master/packages/bullmq) | | [![Curri](https://user-images.githubusercontent.com/659829/161662129-ae645bc4-c1e9-48ff-997e-4cee281a964a.png)](https://github.com/teamcurri) | [![Novu](https://assets.super.so/1e9f5a51-c4c6-4fca-b6e8-25fa0186f139/images/0f550019-16db-4a65-90d1-1bdb7d3c5f20/novu-logo-gradient-light-background2x.png)](https://novu.co) | [![NoCodeDB](https://github.com/nocodb/nocodb/raw/develop/packages/nc-gui/assets/img/icons/512x512.png)](https://www.nocodb.com) | [![Infisical](https://mintlify.s3-us-west-1.amazonaws.com/infisical/logo/light.svg)](https://infisical.com/) | [The gist](#md:the-gist) ========================= Install: $ yarn add bullmq Add jobs to the queue: import { Queue } from 'bullmq';const queue = new Queue('Paint');queue.add('cars', { color: 'blue' }); Process the jobs in your workers: import { Worker } from 'bullmq';const worker = new Worker('Paint', async job => { if (job.name === 'cars') { await paintCar(job.data.color); }}); Listen to jobs for completion: import { QueueEvents } from 'bullmq';const queueEvents = new QueueEvents('Paint');queueEvents.on('completed', ({ jobId }) => { console.log('done painting');});queueEvents.on( 'failed', ({ jobId, failedReason }: { jobId: string; failedReason: string }) => { console.error('error painting', failedReason); },); This is just scratching the surface, check all the features and more in the official [documentation](https://docs.bullmq.io) [Feature Comparison](#md:feature-comparison) ============================================= Since there are a few job queue solutions, here is a table comparing them: | Feature | [BullMQ-Pro](https://bullmq.io/#bullmq-pro) | [BullMQ](https://bullmq.io) | Bull | Kue | Bee | Agenda | | --- | --- | --- | --- | --- | --- | --- | | Backend | redis | redis | redis | redis | redis | mongo | | Observables | ✓ | | | | | | | Group Rate Limit | ✓ | | | | | | | Group Support | ✓ | | | | | | | Batches Support | ✓ | | | | | | | Parent/Child Dependencies | ✓ | ✓ | | | | | | Debouncing | ✓ | ✓ | ✓ | | | | | Priorities | ✓ | ✓ | ✓ | ✓ | | ✓ | | Concurrency | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Delayed jobs | ✓ | ✓ | ✓ | ✓ | | ✓ | | Global events | ✓ | ✓ | ✓ | ✓ | | | | Rate Limiter | ✓ | ✓ | ✓ | | | | | Pause/Resume | ✓ | ✓ | ✓ | ✓ | | | | Sandboxed worker | ✓ | ✓ | ✓ | | | | | Repeatable jobs | ✓ | ✓ | ✓ | | | ✓ | | Atomic ops | ✓ | ✓ | ✓ | | ✓ | | | Persistence | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | UI | ✓ | ✓ | ✓ | ✓ | | ✓ | | Optimized for | Jobs / Messages | Jobs / Messages | Jobs / Messages | Jobs | Messages | Jobs | [Contributing](#md:contributing) --------------------------------- Fork the repo, make some changes, submit a pull-request! Here is the [contributing](https://github.com/taskforcesh/bullmq/blob/master/contributing.md) doc that has more details. [Thanks](#md:thanks) ===================== Thanks for all the contributors that made this library possible, also a special mention to Leon van Kammen that kindly donated his npm bullmq repo. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * * [🛠 Tutorials](#md:🛠-tutorials) * [News 🚀](#md:news-🚀) * * [🌐 Language agnostic BullMQ](#md:🌐-language-agnostic-bullmq) * [Official FrontEnd](#md:official-frontend) * [🚀 Sponsors 🚀](#md:🚀-sponsors-🚀) * [Used by](#md:used-by) * [The gist](#md:the-gist) * [Feature Comparison](#md:feature-comparison) * * [Contributing](#md:contributing) * [Thanks](#md:thanks) Generated using [TypeDoc](https://typedoc.org/) --- # ErrorCode | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ErrorCode](v5.ErrorCode.html) Enumeration ErrorCode ===================== ##### Index ### Enumeration Members [JobBelongsToJobScheduler](v5.ErrorCode.html#JobBelongsToJobScheduler) [JobLockMismatch](v5.ErrorCode.html#JobLockMismatch) [JobLockNotExist](v5.ErrorCode.html#JobLockNotExist) [JobNotExist](v5.ErrorCode.html#JobNotExist) [JobNotInState](v5.ErrorCode.html#JobNotInState) [JobPendingDependencies](v5.ErrorCode.html#JobPendingDependencies) [ParentJobCannotBeReplaced](v5.ErrorCode.html#ParentJobCannotBeReplaced) [ParentJobNotExist](v5.ErrorCode.html#ParentJobNotExist) Enumeration Members ------------------- ### JobBelongsToJobScheduler[](#JobBelongsToJobScheduler) JobBelongsToJobScheduler: \-8 ### JobLockMismatch[](#JobLockMismatch) JobLockMismatch: \-6 ### JobLockNotExist[](#JobLockNotExist) JobLockNotExist: \-2 ### JobNotExist[](#JobNotExist) JobNotExist: \-1 ### JobNotInState[](#JobNotInState) JobNotInState: \-3 ### JobPendingDependencies[](#JobPendingDependencies) JobPendingDependencies: \-4 ### ParentJobCannotBeReplaced[](#ParentJobCannotBeReplaced) ParentJobCannotBeReplaced: \-7 ### ParentJobNotExist[](#ParentJobNotExist) ParentJobNotExist: \-5 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [JobBelongsToJobScheduler](#JobBelongsToJobScheduler) * [JobLockMismatch](#JobLockMismatch) * [JobLockNotExist](#JobLockNotExist) * [JobNotExist](#JobNotExist) * [JobNotInState](#JobNotInState) * [JobPendingDependencies](#JobPendingDependencies) * [ParentJobCannotBeReplaced](#ParentJobCannotBeReplaced) * [ParentJobNotExist](#ParentJobNotExist) Generated using [TypeDoc](https://typedoc.org/) --- # AsyncFifoQueue | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AsyncFifoQueue](v5.AsyncFifoQueue.html) Class AsyncFifoQueue ======================= AsyncFifoQueue A minimal FIFO queue for asynchronous operations. Allows adding asynchronous operations and consume them in the order they are resolved. #### Type Parameters * T ##### Index ### Constructors [constructor](v5.AsyncFifoQueue.html#constructor) ### Methods [add](v5.AsyncFifoQueue.html#add) [fetch](v5.AsyncFifoQueue.html#fetch) [numPending](v5.AsyncFifoQueue.html#numPending) [numQueued](v5.AsyncFifoQueue.html#numQueued) [numTotal](v5.AsyncFifoQueue.html#numTotal) [waitAll](v5.AsyncFifoQueue.html#waitAll) Constructors ------------ ### constructor[](#constructor) * new AsyncFifoQueue<[T](v5.AsyncFifoQueue.html#constructor.new_AsyncFifoQueue.T-1) \>(ignoreErrors?): [AsyncFifoQueue](v5.AsyncFifoQueue.html) <[T](v5.AsyncFifoQueue.html#constructor.new_AsyncFifoQueue.T-1) \>[](#constructor.new_AsyncFifoQueue) * #### Type Parameters * T #### Parameters * ignoreErrors: boolean = false #### Returns [AsyncFifoQueue](v5.AsyncFifoQueue.html) <[T](v5.AsyncFifoQueue.html#constructor.new_AsyncFifoQueue.T-1) \> Methods ------- ### add[](#add) * add(promise): void[](#add.add-1) * #### Parameters * promise: Promise<[T](v5.AsyncFifoQueue.html#constructor.new_AsyncFifoQueue.T-1) \> #### Returns void ### fetch[](#fetch) * fetch(): Promise[](#fetch.fetch-1) * #### Returns Promise ### numPending[](#numPending) * numPending(): number[](#numPending.numPending-1) * #### Returns number ### numQueued[](#numQueued) * numQueued(): number[](#numQueued.numQueued-1) * #### Returns number ### numTotal[](#numTotal) * numTotal(): number[](#numTotal.numTotal-1) * #### Returns number ### waitAll[](#waitAll) * waitAll(): Promise[](#waitAll.waitAll-1) * #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [add](#add) * [fetch](#fetch) * [numPending](#numPending) * [numQueued](#numQueued) * [numTotal](#numTotal) * [waitAll](#waitAll) Generated using [TypeDoc](https://typedoc.org/) --- # TelemetryAttributes | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [TelemetryAttributes](v5.TelemetryAttributes.html) Enumeration TelemetryAttributes =============================== ##### Index ### Enumeration Members [BulkCount](v5.TelemetryAttributes.html#BulkCount) [BulkNames](v5.TelemetryAttributes.html#BulkNames) [DeduplicationKey](v5.TelemetryAttributes.html#DeduplicationKey) [FlowName](v5.TelemetryAttributes.html#FlowName) [JobFailedReason](v5.TelemetryAttributes.html#JobFailedReason) [JobFinishedTimestamp](v5.TelemetryAttributes.html#JobFinishedTimestamp) [JobId](v5.TelemetryAttributes.html#JobId) [JobIds](v5.TelemetryAttributes.html#JobIds) [JobKey](v5.TelemetryAttributes.html#JobKey) [JobName](v5.TelemetryAttributes.html#JobName) [JobOptions](v5.TelemetryAttributes.html#JobOptions) [JobProcessedTimestamp](v5.TelemetryAttributes.html#JobProcessedTimestamp) [JobProgress](v5.TelemetryAttributes.html#JobProgress) [JobResult](v5.TelemetryAttributes.html#JobResult) [JobSchedulerId](v5.TelemetryAttributes.html#JobSchedulerId) [JobType](v5.TelemetryAttributes.html#JobType) [QueueCleanLimit](v5.TelemetryAttributes.html#QueueCleanLimit) [QueueDrainDelay](v5.TelemetryAttributes.html#QueueDrainDelay) [QueueEventMaxLength](v5.TelemetryAttributes.html#QueueEventMaxLength) [QueueGrace](v5.TelemetryAttributes.html#QueueGrace) [QueueName](v5.TelemetryAttributes.html#QueueName) [QueueOperation](v5.TelemetryAttributes.html#QueueOperation) [QueueOptions](v5.TelemetryAttributes.html#QueueOptions) [QueueRateLimit](v5.TelemetryAttributes.html#QueueRateLimit) [WorkerDoNotWaitActive](v5.TelemetryAttributes.html#WorkerDoNotWaitActive) [WorkerFailedJobs](v5.TelemetryAttributes.html#WorkerFailedJobs) [WorkerForceClose](v5.TelemetryAttributes.html#WorkerForceClose) [WorkerId](v5.TelemetryAttributes.html#WorkerId) [WorkerJobsToExtendLocks](v5.TelemetryAttributes.html#WorkerJobsToExtendLocks) [WorkerName](v5.TelemetryAttributes.html#WorkerName) [WorkerOptions](v5.TelemetryAttributes.html#WorkerOptions) [WorkerRateLimit](v5.TelemetryAttributes.html#WorkerRateLimit) [WorkerStalledJobs](v5.TelemetryAttributes.html#WorkerStalledJobs) Enumeration Members ------------------- ### BulkCount[](#BulkCount) BulkCount: "bullmq.job.bulk.count" ### BulkNames[](#BulkNames) BulkNames: "bullmq.job.bulk.names" ### DeduplicationKey[](#DeduplicationKey) DeduplicationKey: "bullmq.job.deduplication.key" ### FlowName[](#FlowName) FlowName: "bullmq.flow.name" ### JobFailedReason[](#JobFailedReason) JobFailedReason: "bullmq.job.failed.reason" ### JobFinishedTimestamp[](#JobFinishedTimestamp) JobFinishedTimestamp: "bullmq.job.finished.timestamp" ### JobId[](#JobId) JobId: "bullmq.job.id" ### JobIds[](#JobIds) JobIds: "bullmq.job.ids" ### JobKey[](#JobKey) JobKey: "bullmq.job.key" ### JobName[](#JobName) JobName: "bullmq.job.name" ### JobOptions[](#JobOptions) JobOptions: "bullmq.job.options" ### JobProcessedTimestamp[](#JobProcessedTimestamp) JobProcessedTimestamp: "bullmq.job.processed.timestamp" ### JobProgress[](#JobProgress) JobProgress: "bullmq.job.progress" ### JobResult[](#JobResult) JobResult: "bullmq.job.result" ### JobSchedulerId[](#JobSchedulerId) JobSchedulerId: "bullmq.job.scheduler.id" ### JobType[](#JobType) JobType: "bullmq.job.type" ### QueueCleanLimit[](#QueueCleanLimit) QueueCleanLimit: "bullmq.queue.clean.limit" ### QueueDrainDelay[](#QueueDrainDelay) QueueDrainDelay: "bullmq.queue.drain.delay" ### QueueEventMaxLength[](#QueueEventMaxLength) QueueEventMaxLength: "bullmq.queue.event.max.length" ### QueueGrace[](#QueueGrace) QueueGrace: "bullmq.queue.grace" ### QueueName[](#QueueName) QueueName: "bullmq.queue.name" ### QueueOperation[](#QueueOperation) QueueOperation: "bullmq.queue.operation" ### QueueOptions[](#QueueOptions) QueueOptions: "bullmq.queue.options" ### QueueRateLimit[](#QueueRateLimit) QueueRateLimit: "bullmq.queue.rate.limit" ### WorkerDoNotWaitActive[](#WorkerDoNotWaitActive) WorkerDoNotWaitActive: "bullmq.worker.do.not.wait.active" ### WorkerFailedJobs[](#WorkerFailedJobs) WorkerFailedJobs: "bullmq.worker.failed.jobs" ### WorkerForceClose[](#WorkerForceClose) WorkerForceClose: "bullmq.worker.force.close" ### WorkerId[](#WorkerId) WorkerId: "bullmq.worker.id" ### WorkerJobsToExtendLocks[](#WorkerJobsToExtendLocks) WorkerJobsToExtendLocks: "bullmq.worker.jobs.to.extend.locks" ### WorkerName[](#WorkerName) WorkerName: "bullmq.worker.name" ### WorkerOptions[](#WorkerOptions) WorkerOptions: "bullmq.worker.options" ### WorkerRateLimit[](#WorkerRateLimit) WorkerRateLimit: "bullmq.worker.rate.limit" ### WorkerStalledJobs[](#WorkerStalledJobs) WorkerStalledJobs: "bullmq.worker.stalled.jobs" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [BulkCount](#BulkCount) * [BulkNames](#BulkNames) * [DeduplicationKey](#DeduplicationKey) * [FlowName](#FlowName) * [JobFailedReason](#JobFailedReason) * [JobFinishedTimestamp](#JobFinishedTimestamp) * [JobId](#JobId) * [JobIds](#JobIds) * [JobKey](#JobKey) * [JobName](#JobName) * [JobOptions](#JobOptions) * [JobProcessedTimestamp](#JobProcessedTimestamp) * [JobProgress](#JobProgress) * [JobResult](#JobResult) * [JobSchedulerId](#JobSchedulerId) * [JobType](#JobType) * [QueueCleanLimit](#QueueCleanLimit) * [QueueDrainDelay](#QueueDrainDelay) * [QueueEventMaxLength](#QueueEventMaxLength) * [QueueGrace](#QueueGrace) * [QueueName](#QueueName) * [QueueOperation](#QueueOperation) * [QueueOptions](#QueueOptions) * [QueueRateLimit](#QueueRateLimit) * [WorkerDoNotWaitActive](#WorkerDoNotWaitActive) * [WorkerFailedJobs](#WorkerFailedJobs) * [WorkerForceClose](#WorkerForceClose) * [WorkerId](#WorkerId) * [WorkerJobsToExtendLocks](#WorkerJobsToExtendLocks) * [WorkerName](#WorkerName) * [WorkerOptions](#WorkerOptions) * [WorkerRateLimit](#WorkerRateLimit) * [WorkerStalledJobs](#WorkerStalledJobs) Generated using [TypeDoc](https://typedoc.org/) --- # MetricsTime | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MetricsTime](v5.MetricsTime.html) Enumeration MetricsTime ======================= ##### Index ### Enumeration Members [FIFTEEN\_MINUTES](v5.MetricsTime.html#FIFTEEN_MINUTES) [FIVE\_MINUTES](v5.MetricsTime.html#FIVE_MINUTES) [ONE\_HOUR](v5.MetricsTime.html#ONE_HOUR) [ONE\_MINUTE](v5.MetricsTime.html#ONE_MINUTE) [ONE\_MONTH](v5.MetricsTime.html#ONE_MONTH) [ONE\_WEEK](v5.MetricsTime.html#ONE_WEEK) [THIRTY\_MINUTES](v5.MetricsTime.html#THIRTY_MINUTES) [TWO\_WEEKS](v5.MetricsTime.html#TWO_WEEKS) Enumeration Members ------------------- ### FIFTEEN\_MINUTES[](#FIFTEEN_MINUTES) FIFTEEN\_MINUTES: 15 ### FIVE\_MINUTES[](#FIVE_MINUTES) FIVE\_MINUTES: 5 ### ONE\_HOUR[](#ONE_HOUR) ONE\_HOUR: 60 ### ONE\_MINUTE[](#ONE_MINUTE) ONE\_MINUTE: 1 ### ONE\_MONTH[](#ONE_MONTH) ONE\_MONTH: 80640 ### ONE\_WEEK[](#ONE_WEEK) ONE\_WEEK: 10080 ### THIRTY\_MINUTES[](#THIRTY_MINUTES) THIRTY\_MINUTES: 30 ### TWO\_WEEKS[](#TWO_WEEKS) TWO\_WEEKS: 20160 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [FIFTEEN\_MINUTES](#FIFTEEN_MINUTES) * [FIVE\_MINUTES](#FIVE_MINUTES) * [ONE\_HOUR](#ONE_HOUR) * [ONE\_MINUTE](#ONE_MINUTE) * [ONE\_MONTH](#ONE_MONTH) * [ONE\_WEEK](#ONE_WEEK) * [THIRTY\_MINUTES](#THIRTY_MINUTES) * [TWO\_WEEKS](#TWO_WEEKS) Generated using [TypeDoc](https://typedoc.org/) --- # Backoffs | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Backoffs](v5.Backoffs.html) Class Backoffs ============== ##### Index ### Constructors [constructor](v5.Backoffs.html#constructor) ### Properties [builtinStrategies](v5.Backoffs.html#builtinStrategies) ### Methods [calculate](v5.Backoffs.html#calculate) [normalize](v5.Backoffs.html#normalize) Constructors ------------ ### constructor[](#constructor) * new Backoffs(): [Backoffs](v5.Backoffs.html) [](#constructor.new_Backoffs) * #### Returns [Backoffs](v5.Backoffs.html) Properties ---------- ### `Static` builtinStrategies[](#builtinStrategies) builtinStrategies: [BuiltInStrategies](../interfaces/v5.BuiltInStrategies.html) = ... Methods ------- ### `Static` calculate[](#calculate) * calculate(backoff, attemptsMade, err, job, customStrategy?): number | Promise[](#calculate.calculate-1) * #### Parameters * backoff: [BackoffOptions](../interfaces/v5.BackoffOptions.html) * attemptsMade: number * err: Error * job: [MinimalJob](../interfaces/v5.MinimalJob.html) * `Optional` customStrategy: [BackoffStrategy](../types/v5.BackoffStrategy.html) #### Returns number | Promise ### `Static` normalize[](#normalize) * normalize(backoff): [BackoffOptions](../interfaces/v5.BackoffOptions.html) [](#normalize.normalize-1) * #### Parameters * backoff: number | [BackoffOptions](../interfaces/v5.BackoffOptions.html) #### Returns [BackoffOptions](../interfaces/v5.BackoffOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [builtinStrategies](#builtinStrategies) * [calculate](#calculate) * [normalize](#normalize) Generated using [TypeDoc](https://typedoc.org/) --- # Child | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Child](v5.Child.html) Class Child =========== Child class This class is used to create a child process or worker thread, and allows using isolated processes or threads for processing jobs. #### Hierarchy * EventEmitter * Child ##### Index ### Constructors [constructor](v5.Child.html#constructor) ### Properties [childProcess](v5.Child.html#childProcess) [processFile](v5.Child.html#processFile) [worker](v5.Child.html#worker) ### Accessors [exitCode](v5.Child.html#exitCode) [killed](v5.Child.html#killed) [pid](v5.Child.html#pid) [signalCode](v5.Child.html#signalCode) ### Methods [hasProcessExited](v5.Child.html#hasProcessExited) [init](v5.Child.html#init) [kill](v5.Child.html#kill) [send](v5.Child.html#send) Constructors ------------ ### constructor[](#constructor) * new Child(mainFile, processFile, opts?): [Child](v5.Child.html) [](#constructor.new_Child) * #### Parameters * mainFile: string * processFile: string * opts: [SandboxedOptions](../interfaces/v5.SandboxedOptions.html) = ... #### Returns [Child](v5.Child.html) Properties ---------- ### childProcess[](#childProcess) childProcess: ChildProcess ### processFile[](#processFile) processFile: string ### worker[](#worker) worker: Worker Accessors --------- ### exitCode[](#exitCode) * get exitCode(): number * #### Returns number ### killed[](#killed) * get killed(): boolean * #### Returns boolean ### pid[](#pid) * get pid(): number * #### Returns number ### signalCode[](#signalCode) * get signalCode(): number * #### Returns number Methods ------- ### hasProcessExited[](#hasProcessExited) * hasProcessExited(): boolean[](#hasProcessExited.hasProcessExited-1) * #### Returns boolean ### init[](#init) * init(): Promise[](#init.init-1) * #### Returns Promise ### kill[](#kill) * kill(signal?, timeoutMs?): Promise[](#kill.kill-1) * #### Parameters * signal: "SIGKILL" | "SIGTERM" = 'SIGKILL' * `Optional` timeoutMs: number #### Returns Promise ### send[](#send) * send(msg): Promise[](#send.send-1) * #### Parameters * msg: any #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [childProcess](#childProcess) * [processFile](#processFile) * [worker](#worker) * [exitCode](#exitCode) * [killed](#killed) * [pid](#pid) * [signalCode](#signalCode) * [hasProcessExited](#hasProcessExited) * [init](#init) * [kill](#kill) * [send](#send) Generated using [TypeDoc](https://typedoc.org/) --- # ChildPool | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ChildPool](v5.ChildPool.html) Class ChildPool =============== ##### Index ### Constructors [constructor](v5.ChildPool.html#constructor) ### Properties [free](v5.ChildPool.html#free) [retained](v5.ChildPool.html#retained) ### Methods [clean](v5.ChildPool.html#clean) [getAllFree](v5.ChildPool.html#getAllFree) [getFree](v5.ChildPool.html#getFree) [kill](v5.ChildPool.html#kill) [release](v5.ChildPool.html#release) [remove](v5.ChildPool.html#remove) [retain](v5.ChildPool.html#retain) Constructors ------------ ### constructor[](#constructor) * new ChildPool(\_\_namedParameters): [ChildPool](v5.ChildPool.html) [](#constructor.new_ChildPool) * #### Parameters * \_\_namedParameters: ChildPoolOpts #### Returns [ChildPool](v5.ChildPool.html) Properties ---------- ### free[](#free) free: {     \[key: string\]: [Child](v5.Child.html) \[\]; } = {} #### Type declaration * ##### \[key: string\]: [Child](v5.Child.html) \[\] ### retained[](#retained) retained: {     \[key: number\]: [Child](v5.Child.html) ; } = {} #### Type declaration * ##### \[key: number\]: [Child](v5.Child.html) Methods ------- ### clean[](#clean) * clean(): Promise[](#clean.clean-1) * #### Returns Promise ### getAllFree[](#getAllFree) * getAllFree(): [Child](v5.Child.html) \[\][](#getAllFree.getAllFree-1) * #### Returns [Child](v5.Child.html) \[\] ### getFree[](#getFree) * getFree(id): [Child](v5.Child.html) \[\][](#getFree.getFree-1) * #### Parameters * id: string #### Returns [Child](v5.Child.html) \[\] ### kill[](#kill) * kill(child, signal?): Promise[](#kill.kill-1) * #### Parameters * child: [Child](v5.Child.html) * signal: "SIGKILL" | "SIGTERM" = 'SIGKILL' #### Returns Promise ### release[](#release) * release(child): void[](#release.release-1) * #### Parameters * child: [Child](v5.Child.html) #### Returns void ### remove[](#remove) * remove(child): void[](#remove.remove-1) * #### Parameters * child: [Child](v5.Child.html) #### Returns void ### retain[](#retain) * retain(processFile): Promise<[Child](v5.Child.html) \>[](#retain.retain-1) * #### Parameters * processFile: string #### Returns Promise<[Child](v5.Child.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [free](#free) * [retained](#retained) * [clean](#clean) * [getAllFree](#getAllFree) * [getFree](#getFree) * [kill](#kill) * [release](#release) * [remove](#remove) * [retain](#retain) Generated using [TypeDoc](https://typedoc.org/) --- # ChildProcessor | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ChildProcessor](v5.ChildProcessor.html) Class ChildProcessor ==================== ChildProcessor This class acts as the interface between a child process and it parent process so that jobs can be processed in different processes. ##### Index ### Constructors [constructor](v5.ChildProcessor.html#constructor) ### Properties [currentJobPromise](v5.ChildProcessor.html#currentJobPromise) [processor](v5.ChildProcessor.html#processor) [status?](v5.ChildProcessor.html#status) ### Methods [init](v5.ChildProcessor.html#init) [start](v5.ChildProcessor.html#start) [stop](v5.ChildProcessor.html#stop) [waitForCurrentJobAndExit](v5.ChildProcessor.html#waitForCurrentJobAndExit) Constructors ------------ ### constructor[](#constructor) * new ChildProcessor(send, receiver): [ChildProcessor](v5.ChildProcessor.html) [](#constructor.new_ChildProcessor) * #### Parameters * send: ((msg) => Promise) * * (msg): Promise * #### Parameters * msg: any #### Returns Promise * receiver: [Receiver](../interfaces/v5.Receiver.html) #### Returns [ChildProcessor](v5.ChildProcessor.html) Properties ---------- ### currentJobPromise[](#currentJobPromise) currentJobPromise: Promise ### processor[](#processor) processor: any ### `Optional` status[](#status) status?: ChildStatus Methods ------- ### init[](#init) * init(processorFile): Promise[](#init.init-1) * #### Parameters * processorFile: string #### Returns Promise ### start[](#start) * start(jobJson, token?): Promise[](#start.start-1) * #### Parameters * jobJson: [JobJsonSandbox](../types/v5.JobJsonSandbox.html) * `Optional` token: string #### Returns Promise ### stop[](#stop) * stop(): Promise[](#stop.stop-1) * #### Returns Promise ### waitForCurrentJobAndExit[](#waitForCurrentJobAndExit) * waitForCurrentJobAndExit(): Promise[](#waitForCurrentJobAndExit.waitForCurrentJobAndExit-1) * #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [currentJobPromise](#currentJobPromise) * [processor](#processor) * [status](#status) * [init](#init) * [start](#start) * [stop](#stop) * [waitForCurrentJobAndExit](#waitForCurrentJobAndExit) Generated using [TypeDoc](https://typedoc.org/) --- # DelayedError | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DelayedError](v5.DelayedError.html) Class DelayedError ================== DelayedError Error to be thrown when job is moved to delayed state from job in active state. #### Hierarchy * Error * DelayedError ##### Index ### Constructors [constructor](v5.DelayedError.html#constructor) Constructors ------------ ### constructor[](#constructor) * new DelayedError(message?): [DelayedError](v5.DelayedError.html) [](#constructor.new_DelayedError) * #### Parameters * message: string = DELAYED\_ERROR #### Returns [DelayedError](v5.DelayedError.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) Generated using [TypeDoc](https://typedoc.org/) --- # v4 | bullmq - v5.41.8 * [bullmq](../index.html) * [v4](v4.html) Module v4 ========= ### Index ### Enumerations [ChildCommand](../enums/v4.ChildCommand.html) [ClientType](../enums/v4.ClientType.html) [ErrorCode](../enums/v4.ErrorCode.html) [MetricsTime](../enums/v4.MetricsTime.html) [ParentCommand](../enums/v4.ParentCommand.html) ### Classes [AsyncFifoQueue](../classes/v4.AsyncFifoQueue.html) [Backoffs](../classes/v4.Backoffs.html) [ChildPool](../classes/v4.ChildPool.html) [ChildProcessor](../classes/v4.ChildProcessor.html) [DelayedError](../classes/v4.DelayedError.html) [FlowProducer](../classes/v4.FlowProducer.html) [Job](../classes/v4.Job.html) [Queue](../classes/v4.Queue.html) [QueueBase](../classes/v4.QueueBase.html) [QueueEvents](../classes/v4.QueueEvents.html) [QueueGetters](../classes/v4.QueueGetters.html) [QueueKeys](../classes/v4.QueueKeys.html) [RateLimitError](../classes/v4.RateLimitError.html) [RedisConnection](../classes/v4.RedisConnection.html) [Repeat](../classes/v4.Repeat.html) [ScriptLoader](../classes/v4.ScriptLoader.html) [ScriptLoaderError](../classes/v4.ScriptLoaderError.html) [Scripts](../classes/v4.Scripts.html) [UnrecoverableError](../classes/v4.UnrecoverableError.html) [WaitingChildrenError](../classes/v4.WaitingChildrenError.html) [Worker](../classes/v4.Worker.html) ### Interfaces [AddChildrenOpts](../interfaces/v4.AddChildrenOpts.html) [AddNodeOpts](../interfaces/v4.AddNodeOpts.html) [AdvancedOptions](../interfaces/v4.AdvancedOptions.html) [AdvancedRepeatOptions](../interfaces/v4.AdvancedRepeatOptions.html) [BackoffOptions](../interfaces/v4.BackoffOptions.html) [BaseJobOptions](../interfaces/v4.BaseJobOptions.html) [BaseOptions](../interfaces/v4.BaseOptions.html) [BuiltInStrategies](../interfaces/v4.BuiltInStrategies.html) [ChildMessage](../interfaces/v4.ChildMessage.html) [Command](../interfaces/v4.Command.html) [DefaultJobOptions](../interfaces/v4.DefaultJobOptions.html) [DependenciesOpts](../interfaces/v4.DependenciesOpts.html) [FlowJobBase](../interfaces/v4.FlowJobBase.html) [FlowOpts](../interfaces/v4.FlowOpts.html) [FlowProducerListener](../interfaces/v4.FlowProducerListener.html) [GetNextJobOptions](../interfaces/v4.GetNextJobOptions.html) [IConnection](../interfaces/v4.IConnection.html) [IoredisListener](../interfaces/v4.IoredisListener.html) [JobJson](../interfaces/v4.JobJson.html) [JobJsonRaw](../interfaces/v4.JobJsonRaw.html) [JobNode](../interfaces/v4.JobNode.html) [KeepJobs](../interfaces/v4.KeepJobs.html) [Metrics](../interfaces/v4.Metrics.html) [MetricsOptions](../interfaces/v4.MetricsOptions.html) [MinimalJob](../interfaces/v4.MinimalJob.html) [MoveToWaitingChildrenOpts](../interfaces/v4.MoveToWaitingChildrenOpts.html) [NodeOpts](../interfaces/v4.NodeOpts.html) [ObliterateOpts](../interfaces/v4.ObliterateOpts.html) [Parent](../interfaces/v4.Parent.html) [ParentKeys](../interfaces/v4.ParentKeys.html) [ParentMessage](../interfaces/v4.ParentMessage.html) [QueueBaseOptions](../interfaces/v4.QueueBaseOptions.html) [QueueEventsListener](../interfaces/v4.QueueEventsListener.html) [QueueEventsOptions](../interfaces/v4.QueueEventsOptions.html) [QueueListener](../interfaces/v4.QueueListener.html) [QueueOptions](../interfaces/v4.QueueOptions.html) [RateLimiterOptions](../interfaces/v4.RateLimiterOptions.html) [RawCommand](../interfaces/v4.RawCommand.html) [RepeatBaseOptions](../interfaces/v4.RepeatBaseOptions.html) [RepeatOptions](../interfaces/v4.RepeatOptions.html) [SandboxedJob](../interfaces/v4.SandboxedJob.html) [ScriptMetadata](../interfaces/v4.ScriptMetadata.html) [WorkerListener](../interfaces/v4.WorkerListener.html) [WorkerOptions](../interfaces/v4.WorkerOptions.html) ### Type Aliases [BackoffStrategy](../types/v4.BackoffStrategy.html) [BulkJobOptions](../types/v4.BulkJobOptions.html) [ClusterOptions](../types/v4.ClusterOptions.html) [ConnectionOptions](../types/v4.ConnectionOptions.html) [EntryId](../types/v4.EntryId.html) [EntryRaw](../types/v4.EntryRaw.html) [FinishedPropValAttribute](../types/v4.FinishedPropValAttribute.html) [FinishedStatus](../types/v4.FinishedStatus.html) [FlowChildJob](../types/v4.FlowChildJob.html) [FlowJob](../types/v4.FlowJob.html) [FlowQueuesOpts](../types/v4.FlowQueuesOpts.html) [JobData](../types/v4.JobData.html) [JobJsonSandbox](../types/v4.JobJsonSandbox.html) [JobState](../types/v4.JobState.html) [JobType](../types/v4.JobType.html) [JobsOptions](../types/v4.JobsOptions.html) [KeysMap](../types/v4.KeysMap.html) [MinimalQueue](../types/v4.MinimalQueue.html) [ParentOpts](../types/v4.ParentOpts.html) [Processor](../types/v4.Processor.html) [RedisClient](../types/v4.RedisClient.html) [RedisJobOptions](../types/v4.RedisJobOptions.html) [RedisOptions](../types/v4.RedisOptions.html) [RepeatStrategy](../types/v4.RepeatStrategy.html) [RepeatableJob](../types/v4.RepeatableJob.html) [SandboxedJobProcessor](../types/v4.SandboxedJobProcessor.html) [StreamName](../types/v4.StreamName.html) [StreamReadRaw](../types/v4.StreamReadRaw.html) ### Variables [DELAY\_TIME\_1](../variables/v4.DELAY_TIME_1.html) [DELAY\_TIME\_5](../variables/v4.DELAY_TIME_5.html) [PRIORITY\_LIMIT](../variables/v4.PRIORITY_LIMIT.html) [QUEUE\_EVENT\_SUFFIX](../variables/v4.QUEUE_EVENT_SUFFIX.html) [RATE\_LIMIT\_ERROR](../variables/v4.RATE_LIMIT_ERROR.html) [WORKER\_SUFFIX](../variables/v4.WORKER_SUFFIX.html) [clientCommandMessageReg](../variables/v4.clientCommandMessageReg.html) [errorObject](../variables/v4.errorObject.html) [scriptLoader](../variables/v4.scriptLoader-1.html) ### Functions [array2obj](../functions/v4.array2obj.html) [asyncSend](../functions/v4.asyncSend.html) [childSend](../functions/v4.childSend.html) [decreaseMaxListeners](../functions/v4.decreaseMaxListeners.html) [delay](../functions/v4.delay.html) [errorToJSON](../functions/v4.errorToJSON.html) [getNextMillis](../functions/v4.getNextMillis.html) [getParentKey](../functions/v4.getParentKey.html) [increaseMaxListeners](../functions/v4.increaseMaxListeners.html) [isEmpty](../functions/v4.isEmpty.html) [isNotConnectionError](../functions/v4.isNotConnectionError.html) [isRedisCluster](../functions/v4.isRedisCluster.html) [isRedisInstance](../functions/v4.isRedisInstance.html) [isRedisVersionLowerThan](../functions/v4.isRedisVersionLowerThan.html) [lengthInUtf8Bytes](../functions/v4.lengthInUtf8Bytes.html) [parseObjectValues](../functions/v4.parseObjectValues.html) [raw2NextJobData](../functions/v4.raw2NextJobData.html) [removeAllQueueData](../functions/v4.removeAllQueueData.html) [tryCatch](../functions/v4.tryCatch.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FlowProducer | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowProducer](v5.FlowProducer.html) Class FlowProducer ================== This class allows to add jobs with dependencies between them in such a way that it is possible to build complex flows. Note: A flow is a tree-like structure of jobs that depend on each other. Whenever the children of a given parent are completed, the parent will be processed, being able to access the children's result data. All Jobs can be in different queues, either children or parents, #### Hierarchy * EventEmitter * FlowProducer ##### Index ### Constructors [constructor](v5.FlowProducer.html#constructor) ### Properties [closing](v5.FlowProducer.html#closing) [keys](v5.FlowProducer.html#keys) [opts](v5.FlowProducer.html#opts) [queueKeys](v5.FlowProducer.html#queueKeys) [toKey](v5.FlowProducer.html#toKey) ### Accessors [client](v5.FlowProducer.html#client) ### Methods [add](v5.FlowProducer.html#add) [addBulk](v5.FlowProducer.html#addBulk) [close](v5.FlowProducer.html#close) [disconnect](v5.FlowProducer.html#disconnect) [emit](v5.FlowProducer.html#emit) [getFlow](v5.FlowProducer.html#getFlow) [off](v5.FlowProducer.html#off) [on](v5.FlowProducer.html#on) [once](v5.FlowProducer.html#once) [waitUntilReady](v5.FlowProducer.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new FlowProducer(opts?, Connection?): [FlowProducer](v5.FlowProducer.html) [](#constructor.new_FlowProducer) * #### Parameters * opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... * Connection: typeof [RedisConnection](v5.RedisConnection.html) = RedisConnection #### Returns [FlowProducer](v5.FlowProducer.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... ### queueKeys[](#queueKeys) queueKeys: [QueueKeys](v5.QueueKeys.html) ### toKey[](#toKey) toKey: ((name, type) => string) #### Type declaration * * (name, type): string * #### Parameters * name: string * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> Methods ------- ### add[](#add) * add(flow, opts?): Promise<[JobNode](../interfaces/v5.JobNode.html) \>[](#add.add-1) * Adds a flow. This call would be atomic, either it fails and no jobs will be added to the queues, or it succeeds and all jobs will be added. #### Parameters * flow: [FlowJob](../types/v5.FlowJob.html) an object with a tree-like structure where children jobs will be processed before their parents. * `Optional` opts: [FlowOpts](../interfaces/v5.FlowOpts.html) options that will be applied to the flow object. #### Returns Promise<[JobNode](../interfaces/v5.JobNode.html) \> ### addBulk[](#addBulk) * addBulk(flows): Promise<[JobNode](../interfaces/v5.JobNode.html) \[\]\>[](#addBulk.addBulk-1) * Adds multiple flows. A flow is a tree-like structure of jobs that depend on each other. Whenever the children of a given parent are completed, the parent will be processed, being able to access the children's result data. All Jobs can be in different queues, either children or parents, however this call would be atomic, either it fails and no jobs will be added to the queues, or it succeeds and all jobs will be added. #### Parameters * flows: [FlowJob](../types/v5.FlowJob.html) \[\] an array of objects with a tree-like structure where children jobs will be processed before their parents. #### Returns Promise<[JobNode](../interfaces/v5.JobNode.html) \[\]\> ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit<[U](v5.FlowProducer.html#emit.emit-1.U) \>(event, ...args): boolean[](#emit.emit-1) * #### Type Parameters * U extends keyof [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) #### Parameters * event: [U](v5.FlowProducer.html#emit.emit-1.U) * `Rest` ...args: Parameters<[FlowProducerListener](../interfaces/v5.FlowProducerListener.html) \[[U](v5.FlowProducer.html#emit.emit-1.U)\ \]\> #### Returns boolean ### getFlow[](#getFlow) * getFlow(opts): Promise<[JobNode](../interfaces/v5.JobNode.html) \>[](#getFlow.getFlow-1) * Get a flow. #### Parameters * opts: [NodeOpts](../interfaces/v5.NodeOpts.html) an object with options for getting a JobNode. #### Returns Promise<[JobNode](../interfaces/v5.JobNode.html) \> ### off[](#off) * off<[U](v5.FlowProducer.html#off.off-1.U-1) \>(eventName, listener): this[](#off.off-1) * #### Type Parameters * U extends keyof [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) #### Parameters * eventName: [U](v5.FlowProducer.html#off.off-1.U-1) * listener: [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) \[[U](v5.FlowProducer.html#off.off-1.U-1)\ \] #### Returns this ### on[](#on) * on<[U](v5.FlowProducer.html#on.on-1.U-2) \>(event, listener): this[](#on.on-1) * #### Type Parameters * U extends keyof [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) #### Parameters * event: [U](v5.FlowProducer.html#on.on-1.U-2) * listener: [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) \[[U](v5.FlowProducer.html#on.on-1.U-2)\ \] #### Returns this ### once[](#once) * once<[U](v5.FlowProducer.html#once.once-1.U-3) \>(event, listener): this[](#once.once-1) * #### Type Parameters * U extends keyof [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) #### Parameters * event: [U](v5.FlowProducer.html#once.once-1.U-3) * listener: [FlowProducerListener](../interfaces/v5.FlowProducerListener.html) \[[U](v5.FlowProducer.html#once.once-1.U-3)\ \] #### Returns this ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [opts](#opts) * [queueKeys](#queueKeys) * [toKey](#toKey) * [client](#client) * [add](#add) * [addBulk](#addBulk) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [getFlow](#getFlow) * [off](#off) * [on](#on) * [once](#once) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # v3 | bullmq - v5.41.8 * [bullmq](../index.html) * [v3](v3.html) Module v3 ========= ##### Index ### Enumerations [ChildCommand](../enums/v3.ChildCommand.html) [ClientType](../enums/v3.ClientType.html) [ErrorCode](../enums/v3.ErrorCode.html) [MetricsTime](../enums/v3.MetricsTime.html) [ParentCommand](../enums/v3.ParentCommand.html) ### Classes [AsyncFifoQueue](../classes/v3.AsyncFifoQueue.html) [Backoffs](../classes/v3.Backoffs.html) [ChildPool](../classes/v3.ChildPool.html) [ChildProcessor](../classes/v3.ChildProcessor.html) [DelayedError](../classes/v3.DelayedError.html) [FlowProducer](../classes/v3.FlowProducer.html) [Job](../classes/v3.Job.html) [Queue](../classes/v3.Queue.html) [QueueBase](../classes/v3.QueueBase.html) [QueueEvents](../classes/v3.QueueEvents.html) [QueueGetters](../classes/v3.QueueGetters.html) [QueueKeys](../classes/v3.QueueKeys.html) [RedisConnection](../classes/v3.RedisConnection.html) [Repeat](../classes/v3.Repeat.html) [ScriptLoader](../classes/v3.ScriptLoader.html) [ScriptLoaderError](../classes/v3.ScriptLoaderError.html) [Scripts](../classes/v3.Scripts.html) [UnrecoverableError](../classes/v3.UnrecoverableError.html) [WaitingChildrenError](../classes/v3.WaitingChildrenError.html) [Worker](../classes/v3.Worker.html) ### Interfaces [AddChildrenOpts](../interfaces/v3.AddChildrenOpts.html) [AddNodeOpts](../interfaces/v3.AddNodeOpts.html) [AdvancedOptions](../interfaces/v3.AdvancedOptions.html) [AdvancedRepeatOptions](../interfaces/v3.AdvancedRepeatOptions.html) [BackoffOptions](../interfaces/v3.BackoffOptions.html) [BaseJobOptions](../interfaces/v3.BaseJobOptions.html) [BaseOptions](../interfaces/v3.BaseOptions.html) [BuiltInStrategies](../interfaces/v3.BuiltInStrategies.html) [ChildMessage](../interfaces/v3.ChildMessage.html) [Command](../interfaces/v3.Command.html) [DefaultJobOptions](../interfaces/v3.DefaultJobOptions.html) [DependenciesOpts](../interfaces/v3.DependenciesOpts.html) [FlowJobBase](../interfaces/v3.FlowJobBase.html) [FlowOpts](../interfaces/v3.FlowOpts.html) [FlowProducerListener](../interfaces/v3.FlowProducerListener.html) [GetNextJobOptions](../interfaces/v3.GetNextJobOptions.html) [IConnection](../interfaces/v3.IConnection.html) [IoredisListener](../interfaces/v3.IoredisListener.html) [JobJson](../interfaces/v3.JobJson.html) [JobJsonRaw](../interfaces/v3.JobJsonRaw.html) [JobNode](../interfaces/v3.JobNode.html) [KeepJobs](../interfaces/v3.KeepJobs.html) [Metrics](../interfaces/v3.Metrics.html) [MetricsOptions](../interfaces/v3.MetricsOptions.html) [MinimalJob](../interfaces/v3.MinimalJob.html) [MoveToWaitingChildrenOpts](../interfaces/v3.MoveToWaitingChildrenOpts.html) [NodeOpts](../interfaces/v3.NodeOpts.html) [ObliterateOpts](../interfaces/v3.ObliterateOpts.html) [Parent](../interfaces/v3.Parent.html) [ParentKeys](../interfaces/v3.ParentKeys.html) [ParentMessage](../interfaces/v3.ParentMessage.html) [QueueBaseOptions](../interfaces/v3.QueueBaseOptions.html) [QueueEventsListener](../interfaces/v3.QueueEventsListener.html) [QueueEventsOptions](../interfaces/v3.QueueEventsOptions.html) [QueueListener](../interfaces/v3.QueueListener.html) [QueueOptions](../interfaces/v3.QueueOptions.html) [RateLimiterOptions](../interfaces/v3.RateLimiterOptions.html) [RawCommand](../interfaces/v3.RawCommand.html) [RepeatBaseOptions](../interfaces/v3.RepeatBaseOptions.html) [RepeatOptions](../interfaces/v3.RepeatOptions.html) [SandboxedJob](../interfaces/v3.SandboxedJob.html) [ScriptMetadata](../interfaces/v3.ScriptMetadata.html) [WorkerListener](../interfaces/v3.WorkerListener.html) [WorkerOptions](../interfaces/v3.WorkerOptions.html) ### Type Aliases [BackoffStrategy](v3.html#BackoffStrategy) [BulkJobOptions](v3.html#BulkJobOptions) [ClusterOptions](v3.html#ClusterOptions) [ConnectionOptions](v3.html#ConnectionOptions) [EntryId](v3.html#EntryId) [EntryRaw](v3.html#EntryRaw) [FinishedPropValAttribute](v3.html#FinishedPropValAttribute) [FinishedStatus](v3.html#FinishedStatus) [FlowChildJob](v3.html#FlowChildJob) [FlowJob](v3.html#FlowJob) [FlowQueuesOpts](v3.html#FlowQueuesOpts) [JobData](v3.html#JobData) [JobJsonSandbox](v3.html#JobJsonSandbox) [JobState](v3.html#JobState) [JobType](v3.html#JobType) [JobsOptions](v3.html#JobsOptions) [KeysMap](v3.html#KeysMap) [MinimalQueue](v3.html#MinimalQueue) [ParentOpts](v3.html#ParentOpts) [Processor](v3.html#Processor) [RedisClient](v3.html#RedisClient) [RedisJobOptions](v3.html#RedisJobOptions) [RedisOptions](v3.html#RedisOptions) [RepeatStrategy](v3.html#RepeatStrategy) [SandboxedJobProcessor](v3.html#SandboxedJobProcessor) [StreamName](v3.html#StreamName) [StreamReadRaw](v3.html#StreamReadRaw) ### Variables [DELAY\_TIME\_1](../variables/v3.DELAY_TIME_1.html) [DELAY\_TIME\_5](../variables/v3.DELAY_TIME_5.html) [QUEUE\_EVENT\_SUFFIX](../variables/v3.QUEUE_EVENT_SUFFIX.html) [WORKER\_SUFFIX](../variables/v3.WORKER_SUFFIX.html) [clientCommandMessageReg](../variables/v3.clientCommandMessageReg.html) [errorObject](../variables/v3.errorObject.html) [scriptLoader](../variables/v3.scriptLoader-1.html) ### Functions [array2obj](../functions/v3.array2obj.html) [asyncSend](../functions/v3.asyncSend.html) [childSend](../functions/v3.childSend.html) [delay](../functions/v3.delay.html) [errorToJSON](../functions/v3.errorToJSON.html) [getNextMillis](../functions/v3.getNextMillis.html) [getParentKey](../functions/v3.getParentKey.html) [isEmpty](../functions/v3.isEmpty.html) [isNotConnectionError](../functions/v3.isNotConnectionError.html) [isRedisCluster](../functions/v3.isRedisCluster.html) [isRedisInstance](../functions/v3.isRedisInstance.html) [isRedisVersionLowerThan](../functions/v3.isRedisVersionLowerThan.html) [lengthInUtf8Bytes](../functions/v3.lengthInUtf8Bytes.html) [parseObjectValues](../functions/v3.parseObjectValues.html) [raw2NextJobData](../functions/v3.raw2NextJobData.html) [removeAllQueueData](../functions/v3.removeAllQueueData.html) [tryCatch](../functions/v3.tryCatch.html) Type Aliases ------------ ### BackoffStrategy[](#BackoffStrategy) BackoffStrategy: ((attemptsMade, type?, err?, job?) => Promise | number) #### Type declaration * * (attemptsMade, type?, err?, job?): Promise | number * #### Parameters * attemptsMade: number * `Optional` type: string * `Optional` err: Error * `Optional` job: [MinimalJob](../interfaces/v3.MinimalJob.html) #### Returns Promise | number ### BulkJobOptions[](#BulkJobOptions) BulkJobOptions: Omit<[JobsOptions](v3.html#JobsOptions) , "repeat"\> ### ClusterOptions[](#ClusterOptions) ClusterOptions: IORedis.ClusterOptions & [BaseOptions](../interfaces/v3.BaseOptions.html) ### ConnectionOptions[](#ConnectionOptions) ConnectionOptions: [RedisOptions](v3.html#RedisOptions) | [ClusterOptions](v3.html#ClusterOptions) | IORedis.Redis | IORedis.Cluster ### EntryId[](#EntryId) EntryId: string ### EntryRaw[](#EntryRaw) EntryRaw: \[[EntryId](v3.html#EntryId)\ , string\[\]\] ### FinishedPropValAttribute[](#FinishedPropValAttribute) FinishedPropValAttribute: "returnvalue" | "failedReason" ### FinishedStatus[](#FinishedStatus) FinishedStatus: "completed" | "failed" ### FlowChildJob[](#FlowChildJob) FlowChildJob: [FlowJobBase](../interfaces/v3.FlowJobBase.html) \> ### FlowJob[](#FlowJob) FlowJob: [FlowJobBase](../interfaces/v3.FlowJobBase.html) <[JobsOptions](v3.html#JobsOptions) \> ### FlowQueuesOpts[](#FlowQueuesOpts) FlowQueuesOpts: Record\> ### JobData[](#JobData) JobData: \[[JobJsonRaw](../interfaces/v3.JobJsonRaw.html)\ | number, string?\] ### JobJsonSandbox[](#JobJsonSandbox) JobJsonSandbox: [JobJson](../interfaces/v3.JobJson.html) & {     prefix: string;     queueName: string; } #### Type declaration * ##### prefix: string * ##### queueName: string ### JobState[](#JobState) JobState: [FinishedStatus](v3.html#FinishedStatus) | "active" | "delayed" | "waiting" | "waiting-children" ### JobType[](#JobType) JobType: [JobState](v3.html#JobState) | "paused" | "repeat" | "wait" ### JobsOptions[](#JobsOptions) JobsOptions: [BaseJobOptions](../interfaces/v3.BaseJobOptions.html) & {     failParentOnFailure?: boolean; } #### Type declaration * ##### `Optional` failParentOnFailure?: boolean If true, moves parent to failed. ### KeysMap[](#KeysMap) KeysMap: {     \[index in string\]: string } ### MinimalQueue[](#MinimalQueue) MinimalQueue: Pick<[QueueBase](../classes/v3.QueueBase.html) , "name" | "client" | "toKey" | "keys" | "opts" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion"\> ### ParentOpts[](#ParentOpts) ParentOpts: {     parentDependenciesKey?: string;     parentKey?: string;     waitChildrenKey?: string; } #### Type declaration * ##### `Optional` parentDependenciesKey?: string * ##### `Optional` parentKey?: string * ##### `Optional` waitChildrenKey?: string ### Processor[](#Processor) Processor<[T](v3.html#Processor.T) , [R](v3.html#Processor.R) , [N](v3.html#Processor.N) \>: ((job, token?) => Promise) #### Type Parameters * T = any * R = any * N extends string = string #### Type declaration * * (job, token?): Promise * An async function that receives `Job`s and handles them. #### Parameters * job: [Job](../classes/v3.Job.html) * `Optional` token: string #### Returns Promise ### RedisClient[](#RedisClient) RedisClient: Redis | Cluster ### RedisJobOptions[](#RedisJobOptions) RedisJobOptions: [BaseJobOptions](../interfaces/v3.BaseJobOptions.html) & {     fpof?: boolean;     kl?: number; } These fields are the ones stored in Redis with smaller keys for compactness. #### Type declaration * ##### `Optional` fpof?: boolean If true, moves parent to failed. * ##### `Optional` kl?: number Maximum amount of log entries that will be preserved ### RedisOptions[](#RedisOptions) RedisOptions: IORedis.RedisOptions & [BaseOptions](../interfaces/v3.BaseOptions.html) ### RepeatStrategy[](#RepeatStrategy) RepeatStrategy: ((millis, opts, name?) => number) #### Type declaration * * (millis, opts, name?): number * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v3.RepeatOptions.html) * `Optional` name: string #### Returns number ### SandboxedJobProcessor[](#SandboxedJobProcessor) SandboxedJobProcessor<[T](v3.html#SandboxedJobProcessor.T-1) , [R](v3.html#SandboxedJobProcessor.R-1) \>: ((job) => R | PromiseLike) | ((job, callback) => void) #### Type Parameters * T = any * R = any #### Type declaration * * (job): R | PromiseLike * #### Parameters * job: [SandboxedJob](../interfaces/v3.SandboxedJob.html) #### Returns R | PromiseLike #### Type declaration * * (job, callback): void * #### Parameters * job: [SandboxedJob](../interfaces/v3.SandboxedJob.html) * callback: ((error, result) => void) * * (error, result): void * #### Parameters * error: unknown * result: R #### Returns void #### Returns void #### See [https://docs.bullmq.io/guide/workers/sandboxed-processors](https://docs.bullmq.io/guide/workers/sandboxed-processors) ### StreamName[](#StreamName) StreamName: string ### StreamReadRaw[](#StreamReadRaw) StreamReadRaw: \[[StreamName](v3.html#StreamName)\ , [EntryRaw](v3.html#EntryRaw)\ \[\]\]\[\] | null | undefined ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [BackoffStrategy](#BackoffStrategy) * [BulkJobOptions](#BulkJobOptions) * [ClusterOptions](#ClusterOptions) * [ConnectionOptions](#ConnectionOptions) * [EntryId](#EntryId) * [EntryRaw](#EntryRaw) * [FinishedPropValAttribute](#FinishedPropValAttribute) * [FinishedStatus](#FinishedStatus) * [FlowChildJob](#FlowChildJob) * [FlowJob](#FlowJob) * [FlowQueuesOpts](#FlowQueuesOpts) * [JobData](#JobData) * [JobJsonSandbox](#JobJsonSandbox) * [JobState](#JobState) * [JobType](#JobType) * [JobsOptions](#JobsOptions) * [KeysMap](#KeysMap) * [MinimalQueue](#MinimalQueue) * [ParentOpts](#ParentOpts) * [Processor](#Processor) * [RedisClient](#RedisClient) * [RedisJobOptions](#RedisJobOptions) * [RedisOptions](#RedisOptions) * [RepeatStrategy](#RepeatStrategy) * [SandboxedJobProcessor](#SandboxedJobProcessor) * [StreamName](#StreamName) * [StreamReadRaw](#StreamReadRaw) Generated using [TypeDoc](https://typedoc.org/) --- # v2 | bullmq - v5.41.8 * [bullmq](../index.html) * [v2](v2.html) Module v2 ========= ##### Index ### Enumerations [ChildCommand](../enums/v2.ChildCommand.html) [ClientType](../enums/v2.ClientType.html) [ErrorCode](../enums/v2.ErrorCode.html) [MetricsTime](../enums/v2.MetricsTime.html) [ParentCommand](../enums/v2.ParentCommand.html) ### Classes [Backoffs](../classes/v2.Backoffs.html) [ChildPool](../classes/v2.ChildPool.html) [ChildProcessor](../classes/v2.ChildProcessor.html) [FlowProducer](../classes/v2.FlowProducer.html) [Job](../classes/v2.Job.html) [Queue](../classes/v2.Queue.html) [QueueBase](../classes/v2.QueueBase.html) [QueueEvents](../classes/v2.QueueEvents.html) [QueueGetters](../classes/v2.QueueGetters.html) [QueueKeys](../classes/v2.QueueKeys.html) [RedisConnection](../classes/v2.RedisConnection.html) [Repeat](../classes/v2.Repeat.html) [ScriptLoader](../classes/v2.ScriptLoader.html) [ScriptLoaderError](../classes/v2.ScriptLoaderError.html) [Scripts](../classes/v2.Scripts.html) [TimerManager](../classes/v2.TimerManager.html) [UnrecoverableError](../classes/v2.UnrecoverableError.html) [Worker](../classes/v2.Worker.html) ### Interfaces [AddChildrenOpts](../interfaces/v2.AddChildrenOpts.html) [AddNodeOpts](../interfaces/v2.AddNodeOpts.html) [AdvancedOptions](../interfaces/v2.AdvancedOptions.html) [AdvancedRepeatOptions](../interfaces/v2.AdvancedRepeatOptions.html) [BackoffOptions](../interfaces/v2.BackoffOptions.html) [BaseJobOptions](../interfaces/v2.BaseJobOptions.html) [ChildMessage](../interfaces/v2.ChildMessage.html) [ChildProcessExt](../interfaces/v2.ChildProcessExt.html) [Command](../interfaces/v2.Command.html) [DefaultJobOptions](../interfaces/v2.DefaultJobOptions.html) [DependenciesOpts](../interfaces/v2.DependenciesOpts.html) [FlowOpts](../interfaces/v2.FlowOpts.html) [FlowProducerListener](../interfaces/v2.FlowProducerListener.html) [GetNextJobOptions](../interfaces/v2.GetNextJobOptions.html) [IConnection](../interfaces/v2.IConnection.html) [IoredisListener](../interfaces/v2.IoredisListener.html) [JobJson](../interfaces/v2.JobJson.html) [JobJsonRaw](../interfaces/v2.JobJsonRaw.html) [JobNode](../interfaces/v2.JobNode.html) [KeepJobs](../interfaces/v2.KeepJobs.html) [Metrics](../interfaces/v2.Metrics.html) [MetricsOptions](../interfaces/v2.MetricsOptions.html) [MoveToWaitingChildrenOpts](../interfaces/v2.MoveToWaitingChildrenOpts.html) [NodeOpts](../interfaces/v2.NodeOpts.html) [ObliterateOpts](../interfaces/v2.ObliterateOpts.html) [Parent](../interfaces/v2.Parent.html) [ParentKeys](../interfaces/v2.ParentKeys.html) [ParentMessage](../interfaces/v2.ParentMessage.html) [QueueBaseOptions](../interfaces/v2.QueueBaseOptions.html) [QueueEventsListener](../interfaces/v2.QueueEventsListener.html) [QueueEventsOptions](../interfaces/v2.QueueEventsOptions.html) [QueueListener](../interfaces/v2.QueueListener.html) [QueueOptions](../interfaces/v2.QueueOptions.html) [RateLimiterOptions](../interfaces/v2.RateLimiterOptions.html) [RawCommand](../interfaces/v2.RawCommand.html) [RepeatBaseOptions](../interfaces/v2.RepeatBaseOptions.html) [RepeatOptions](../interfaces/v2.RepeatOptions.html) [SandboxedJob](../interfaces/v2.SandboxedJob.html) [ScriptMetadata](../interfaces/v2.ScriptMetadata.html) [Strategies](../interfaces/v2.Strategies.html) [WorkerListener](../interfaces/v2.WorkerListener.html) [WorkerOptions](../interfaces/v2.WorkerOptions.html) ### Type Aliases [BackoffFunction](v2.html#BackoffFunction) [BulkJobOptions](v2.html#BulkJobOptions) [ClusterOptions](v2.html#ClusterOptions) [ConnectionOptions](v2.html#ConnectionOptions) [EntryId](v2.html#EntryId) [EntryRaw](v2.html#EntryRaw) [FinishedPropValAttribute](v2.html#FinishedPropValAttribute) [FinishedStatus](v2.html#FinishedStatus) [FlowChildJob](v2.html#FlowChildJob) [FlowJob](v2.html#FlowJob) [FlowQueuesOpts](v2.html#FlowQueuesOpts) [JobData](v2.html#JobData) [JobJsonSandbox](v2.html#JobJsonSandbox) [JobState](v2.html#JobState) [JobType](v2.html#JobType) [JobsOptions](v2.html#JobsOptions) [KeysMap](v2.html#KeysMap) [MinimalQueue](v2.html#MinimalQueue) [ParentOpts](v2.html#ParentOpts) [Processor](v2.html#Processor) [RedisClient](v2.html#RedisClient) [RedisJobOptions](v2.html#RedisJobOptions) [RedisOptions](v2.html#RedisOptions) [RepeatStrategy](v2.html#RepeatStrategy) [SandboxedJobProcessor](v2.html#SandboxedJobProcessor) [StreamName](v2.html#StreamName) [StreamReadRaw](v2.html#StreamReadRaw) ### Variables [DELAY\_TIME\_1](../variables/v2.DELAY_TIME_1.html) [DELAY\_TIME\_5](../variables/v2.DELAY_TIME_5.html) [QUEUE\_EVENT\_SUFFIX](../variables/v2.QUEUE_EVENT_SUFFIX.html) [QUEUE\_SCHEDULER\_SUFFIX](../variables/v2.QUEUE_SCHEDULER_SUFFIX.html) [WORKER\_SUFFIX](../variables/v2.WORKER_SUFFIX.html) [clientCommandMessageReg](../variables/v2.clientCommandMessageReg.html) [errorObject](../variables/v2.errorObject.html) [scriptLoader](../variables/v2.scriptLoader-1.html) ### Functions [array2obj](../functions/v2.array2obj.html) [asyncSend](../functions/v2.asyncSend.html) [childSend](../functions/v2.childSend.html) [delay](../functions/v2.delay.html) [getNextMillis](../functions/v2.getNextMillis.html) [getParentKey](../functions/v2.getParentKey.html) [isEmpty](../functions/v2.isEmpty.html) [isNotConnectionError](../functions/v2.isNotConnectionError.html) [isRedisCluster](../functions/v2.isRedisCluster.html) [isRedisInstance](../functions/v2.isRedisInstance.html) [isRedisVersionLowerThan](../functions/v2.isRedisVersionLowerThan.html) [jobIdForGroup](../functions/v2.jobIdForGroup.html) [killAsync](../functions/v2.killAsync.html) [lengthInUtf8Bytes](../functions/v2.lengthInUtf8Bytes.html) [parentSend](../functions/v2.parentSend.html) [raw2jobData](../functions/v2.raw2jobData.html) [removeAllQueueData](../functions/v2.removeAllQueueData.html) [tryCatch](../functions/v2.tryCatch.html) Type Aliases ------------ ### BackoffFunction[](#BackoffFunction) BackoffFunction: ((attemptsMade?, err?, job?) => number) #### Type declaration * * (attemptsMade?, err?, job?): number * #### Parameters * `Optional` attemptsMade: number * `Optional` err: Error * `Optional` job: [Job](../classes/v2.Job.html) #### Returns number ### BulkJobOptions[](#BulkJobOptions) BulkJobOptions: Omit<[JobsOptions](v2.html#JobsOptions) , "repeat"\> ### ClusterOptions[](#ClusterOptions) ClusterOptions: IORedis.ClusterOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### ConnectionOptions[](#ConnectionOptions) ConnectionOptions: [RedisOptions](v2.html#RedisOptions) | [ClusterOptions](v2.html#ClusterOptions) | IORedis.Redis | IORedis.Cluster ### EntryId[](#EntryId) EntryId: string ### EntryRaw[](#EntryRaw) EntryRaw: \[[EntryId](v2.html#EntryId)\ , string\[\]\] ### FinishedPropValAttribute[](#FinishedPropValAttribute) FinishedPropValAttribute: "returnvalue" | "failedReason" ### FinishedStatus[](#FinishedStatus) FinishedStatus: "completed" | "failed" ### FlowChildJob[](#FlowChildJob) FlowChildJob: [FlowJobBase](../interfaces/v5.FlowJobBase.html) \> ### FlowJob[](#FlowJob) FlowJob: [FlowJobBase](../interfaces/v5.FlowJobBase.html) <[JobsOptions](v2.html#JobsOptions) \> ### FlowQueuesOpts[](#FlowQueuesOpts) FlowQueuesOpts: Record\> ### JobData[](#JobData) JobData: \[[JobJsonRaw](../interfaces/v2.JobJsonRaw.html)\ | number, string?\] ### JobJsonSandbox[](#JobJsonSandbox) JobJsonSandbox: [JobJson](../interfaces/v2.JobJson.html) & {     prefix: string;     queueName: string; } #### Type declaration * ##### prefix: string * ##### queueName: string ### JobState[](#JobState) JobState: [FinishedStatus](v2.html#FinishedStatus) | "active" | "delayed" | "waiting" | "waiting-children" ### JobType[](#JobType) JobType: [JobState](v2.html#JobState) | "paused" | "repeat" | "wait" ### JobsOptions[](#JobsOptions) JobsOptions: [BaseJobOptions](../interfaces/v2.BaseJobOptions.html) & {     failParentOnFailure?: boolean; } #### Type declaration * ##### `Optional` failParentOnFailure?: boolean If true, moves parent to failed. ### KeysMap[](#KeysMap) KeysMap: {     \[index in string\]: string } ### MinimalQueue[](#MinimalQueue) MinimalQueue: Pick<[QueueBase](../classes/v2.QueueBase.html) , "name" | "client" | "toKey" | "keys" | "opts" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion"\> ### ParentOpts[](#ParentOpts) ParentOpts: {     parentDependenciesKey?: string;     parentKey?: string;     waitChildrenKey?: string; } #### Type declaration * ##### `Optional` parentDependenciesKey?: string * ##### `Optional` parentKey?: string * ##### `Optional` waitChildrenKey?: string ### Processor[](#Processor) Processor<[T](v2.html#Processor.T) , [R](v2.html#Processor.R) , [N](v2.html#Processor.N) \>: ((job, token?) => Promise) #### Type Parameters * T = any * R = any * N extends string = string #### Type declaration * * (job, token?): Promise * An async function that receives `Job`s and handles them. #### Parameters * job: [Job](../classes/v2.Job.html) * `Optional` token: string #### Returns Promise ### RedisClient[](#RedisClient) RedisClient: Redis | Cluster ### RedisJobOptions[](#RedisJobOptions) RedisJobOptions: [BaseJobOptions](../interfaces/v2.BaseJobOptions.html) & {     fpof?: boolean; } These fields are the ones stored in Redis with smaller keys for compactness. #### Type declaration * ##### `Optional` fpof?: boolean If true, moves parent to failed. ### RedisOptions[](#RedisOptions) RedisOptions: IORedis.RedisOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### RepeatStrategy[](#RepeatStrategy) RepeatStrategy: ((millis, opts, name?) => number) #### Type declaration * * (millis, opts, name?): number * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v2.RepeatOptions.html) * `Optional` name: string #### Returns number ### SandboxedJobProcessor[](#SandboxedJobProcessor) SandboxedJobProcessor<[T](v2.html#SandboxedJobProcessor.T-1) , [R](v2.html#SandboxedJobProcessor.R-1) \>: ((job) => R | PromiseLike) | ((job, callback) => void) #### Type Parameters * T = any * R = any #### Type declaration * * (job): R | PromiseLike * #### Parameters * job: [SandboxedJob](../interfaces/v2.SandboxedJob.html) #### Returns R | PromiseLike #### Type declaration * * (job, callback): void * #### Parameters * job: [SandboxedJob](../interfaces/v2.SandboxedJob.html) * callback: ((error, result) => void) * * (error, result): void * #### Parameters * error: unknown * result: R #### Returns void #### Returns void #### See [https://docs.bullmq.io/guide/workers/sandboxed-processors](https://docs.bullmq.io/guide/workers/sandboxed-processors) ### StreamName[](#StreamName) StreamName: string ### StreamReadRaw[](#StreamReadRaw) StreamReadRaw: \[[StreamName](v2.html#StreamName)\ , [EntryRaw](v2.html#EntryRaw)\ \[\]\]\[\] ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [BackoffFunction](#BackoffFunction) * [BulkJobOptions](#BulkJobOptions) * [ClusterOptions](#ClusterOptions) * [ConnectionOptions](#ConnectionOptions) * [EntryId](#EntryId) * [EntryRaw](#EntryRaw) * [FinishedPropValAttribute](#FinishedPropValAttribute) * [FinishedStatus](#FinishedStatus) * [FlowChildJob](#FlowChildJob) * [FlowJob](#FlowJob) * [FlowQueuesOpts](#FlowQueuesOpts) * [JobData](#JobData) * [JobJsonSandbox](#JobJsonSandbox) * [JobState](#JobState) * [JobType](#JobType) * [JobsOptions](#JobsOptions) * [KeysMap](#KeysMap) * [MinimalQueue](#MinimalQueue) * [ParentOpts](#ParentOpts) * [Processor](#Processor) * [RedisClient](#RedisClient) * [RedisJobOptions](#RedisJobOptions) * [RedisOptions](#RedisOptions) * [RepeatStrategy](#RepeatStrategy) * [SandboxedJobProcessor](#SandboxedJobProcessor) * [StreamName](#StreamName) * [StreamReadRaw](#StreamReadRaw) Generated using [TypeDoc](https://typedoc.org/) --- # Job | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Job](v5.Job.html) Class Job ========================================= Job This class represents a Job in the queue. Normally job are implicitly created when you add a job to the queue with methods such as Queue.addJob( ... ) A Job instance is also passed to the Worker's process function. Job #### Type Parameters * DataType = any * ReturnType = any * NameType extends string = string #### Implements * [MinimalJob](../interfaces/v5.MinimalJob.html) <[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \> ##### Index ### Constructors [constructor](v5.Job.html#constructor) ### Properties [attemptsMade](v5.Job.html#attemptsMade) [attemptsStarted](v5.Job.html#attemptsStarted) [data](v5.Job.html#data) [debounceId?](v5.Job.html#debounceId) [deduplicationId?](v5.Job.html#deduplicationId) [delay](v5.Job.html#delay) [failedReason](v5.Job.html#failedReason) [finishedOn?](v5.Job.html#finishedOn) [id?](v5.Job.html#id) [name](v5.Job.html#name) [nextRepeatableJobId?](v5.Job.html#nextRepeatableJobId) [opts](v5.Job.html#opts) [parent?](v5.Job.html#parent) [parentKey?](v5.Job.html#parentKey) [priority](v5.Job.html#priority) [processedBy?](v5.Job.html#processedBy) [processedOn?](v5.Job.html#processedOn) [progress](v5.Job.html#progress) [queueQualifiedName](v5.Job.html#queueQualifiedName) [repeatJobKey?](v5.Job.html#repeatJobKey) [returnvalue](v5.Job.html#returnvalue) [stacktrace](v5.Job.html#stacktrace) [timestamp](v5.Job.html#timestamp) [token?](v5.Job.html#token) ### Accessors [prefix](v5.Job.html#prefix) [queueName](v5.Job.html#queueName) ### Methods [addJob](v5.Job.html#addJob) [asJSON](v5.Job.html#asJSON) [asJSONSandbox](v5.Job.html#asJSONSandbox) [changeDelay](v5.Job.html#changeDelay) [changePriority](v5.Job.html#changePriority) [clearLogs](v5.Job.html#clearLogs) [discard](v5.Job.html#discard) [extendLock](v5.Job.html#extendLock) [getChildrenValues](v5.Job.html#getChildrenValues) [getDependencies](v5.Job.html#getDependencies) [getDependenciesCount](v5.Job.html#getDependenciesCount) [getFailedChildrenValues](v5.Job.html#getFailedChildrenValues) [getState](v5.Job.html#getState) [isActive](v5.Job.html#isActive) [isCompleted](v5.Job.html#isCompleted) [isDelayed](v5.Job.html#isDelayed) [isFailed](v5.Job.html#isFailed) [isWaiting](v5.Job.html#isWaiting) [isWaitingChildren](v5.Job.html#isWaitingChildren) [log](v5.Job.html#log) [moveToCompleted](v5.Job.html#moveToCompleted) [moveToDelayed](v5.Job.html#moveToDelayed) [moveToFailed](v5.Job.html#moveToFailed) [moveToWait](v5.Job.html#moveToWait) [moveToWaitingChildren](v5.Job.html#moveToWaitingChildren) [promote](v5.Job.html#promote) [remove](v5.Job.html#remove) [removeChildDependency](v5.Job.html#removeChildDependency) [retry](v5.Job.html#retry) [toJSON](v5.Job.html#toJSON) [updateData](v5.Job.html#updateData) [updateProgress](v5.Job.html#updateProgress) [waitUntilFinished](v5.Job.html#waitUntilFinished) [addJobLog](v5.Job.html#addJobLog) [create](v5.Job.html#create) [createBulk](v5.Job.html#createBulk) [fromId](v5.Job.html#fromId) [fromJSON](v5.Job.html#fromJSON) [optsAsJSON](v5.Job.html#optsAsJSON) [optsFromJSON](v5.Job.html#optsFromJSON) Constructors ------------ ### constructor[](#constructor) * new Job<[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \>(queue, name, data, opts?, id?): [Job](v5.Job.html) <[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \>[](#constructor.new_Job) * #### Type Parameters * DataType = any * ReturnType = any * NameType extends string = string #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) * name: [NameType](v5.Job.html#constructor.new_Job.NameType-1) The name of the Job * data: [DataType](v5.Job.html#constructor.new_Job.DataType-1) The payload for this job. * opts: [JobsOptions](../types/v5.JobsOptions.html) = {} The options object for this job. * `Optional` id: string #### Returns [Job](v5.Job.html) <[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \> Properties ---------- ### attemptsMade[](#attemptsMade) attemptsMade: number = 0 Number of attempts after the job has failed. #### Default Value 0 ### attemptsStarted[](#attemptsStarted) attemptsStarted: number = 0 Number of attempts when job is moved to active. #### Default Value 0 ### data[](#data) data: [DataType](v5.Job.html#constructor.new_Job.DataType-1) The payload for this job. ### `Optional` debounceId[](#debounceId) debounceId?: string Debounce identifier. #### Deprecated use deduplicationId ### `Optional` deduplicationId[](#deduplicationId) deduplicationId?: string Deduplication identifier. ### delay[](#delay) delay: number = 0 An amount of milliseconds to wait until this job can be processed. #### Default Value 0 ### failedReason[](#failedReason) failedReason: string Reason for failing. ### `Optional` finishedOn[](#finishedOn) finishedOn?: number Timestamp for when the job finished (completed or failed). ### `Optional` id[](#id) id?: string ### name[](#name) name: [NameType](v5.Job.html#constructor.new_Job.NameType-1) The name of the Job ### `Optional` nextRepeatableJobId[](#nextRepeatableJobId) nextRepeatableJobId?: string Produced next repetable job Id. ### opts[](#opts) opts: [JobsOptions](../types/v5.JobsOptions.html) = {} The options object for this job. ### `Optional` parent[](#parent) parent?: [ParentKeys](../interfaces/v5.ParentKeys.html) Object that contains parentId (id) and parent queueKey. ### `Optional` parentKey[](#parentKey) parentKey?: string Fully qualified key (including the queue prefix) pointing to the parent of this job. ### priority[](#priority) priority: number = 0 Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required. #### Default Value 0 ### `Optional` processedBy[](#processedBy) processedBy?: string The worker name that is processing or processed this job. ### `Optional` processedOn[](#processedOn) processedOn?: number Timestamp for when the job was processed. ### progress[](#progress) progress: number | object = 0 The progress a job has performed so far. #### Default Value 0 ### `Readonly` queueQualifiedName[](#queueQualifiedName) queueQualifiedName: string It includes the prefix, the namespace separator :, and queue name. #### See [https://www.gnu.org/software/gawk/manual/html\_node/Qualified-Names.html](https://www.gnu.org/software/gawk/manual/html_node/Qualified-Names.html) ### `Optional` repeatJobKey[](#repeatJobKey) repeatJobKey?: string Base repeat job key. ### returnvalue[](#returnvalue) returnvalue: [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) = null The value returned by the processor when processing this job. #### Default Value null ### stacktrace[](#stacktrace) stacktrace: string\[\] = null Stacktrace for the error (for failed jobs). #### Default Value null ### timestamp[](#timestamp) timestamp: number Timestamp when the job was created (unless overridden with job options). ### `Optional` token[](#token) token?: string The token used for locking this job. Accessors --------- ### prefix[](#prefix) * get prefix(): string * #### Returns string the prefix that is used. ### queueName[](#queueName) * get queueName(): string * #### Returns string the queue name this job belongs to. Methods ------- ### addJob[](#addJob) * addJob(client, parentOpts?): Promise[](#addJob.addJob-1) * Adds the job to Redis. #### Parameters * client: [RedisClient](../types/v5.RedisClient.html) * `Optional` parentOpts: [ParentOpts](../types/v5.ParentOpts.html) #### Returns Promise ### asJSON[](#asJSON) * asJSON(): [JobJson](../interfaces/v5.JobJson.html) [](#asJSON.asJSON-1) * Prepares a job to be serialized for storage in Redis. #### Returns [JobJson](../interfaces/v5.JobJson.html) ### asJSONSandbox[](#asJSONSandbox) * asJSONSandbox(): [JobJsonSandbox](../types/v5.JobJsonSandbox.html) [](#asJSONSandbox.asJSONSandbox-1) * Prepares a job to be passed to Sandbox. #### Returns [JobJsonSandbox](../types/v5.JobJsonSandbox.html) ### changeDelay[](#changeDelay) * changeDelay(delay): Promise[](#changeDelay.changeDelay-1) * Change delay of a delayed job. #### Parameters * delay: number milliseconds to be added to current time. #### Returns Promise void ### changePriority[](#changePriority) * changePriority(opts): Promise[](#changePriority.changePriority-1) * Change job priority. #### Parameters * opts: {     lifo?: boolean;     priority?: number; } options containing priority and lifo values. * ##### `Optional` lifo?: boolean * ##### `Optional` priority?: number #### Returns Promise void ### clearLogs[](#clearLogs) * clearLogs(keepLogs?): Promise[](#clearLogs.clearLogs-1) * Clears job's logs #### Parameters * `Optional` keepLogs: number the amount of log entries to preserve #### Returns Promise ### discard[](#discard) * discard(): void[](#discard.discard-1) * Marks a job to not be retried if it fails (even if attempts has been configured) #### Returns void #### Deprecated use UnrecoverableError ### extendLock[](#extendLock) * extendLock(token, duration): Promise[](#extendLock.extendLock-1) * Extend the lock for this job. #### Parameters * token: string unique token for the lock * duration: number lock duration in milliseconds #### Returns Promise ### getChildrenValues[](#getChildrenValues) * getChildrenValues<[CT](v5.Job.html#getChildrenValues.getChildrenValues-1.CT) \>(): Promise<{     \[jobKey: string\]: [CT](v5.Job.html#getChildrenValues.getChildrenValues-1.CT) ; }\>[](#getChildrenValues.getChildrenValues-1) * Get this jobs children result values if any. #### Type Parameters * CT = any #### Returns Promise<{     \[jobKey: string\]: [CT](v5.Job.html#getChildrenValues.getChildrenValues-1.CT) ; }\> Object mapping children job keys with their values. ### getDependencies[](#getDependencies) * getDependencies(opts?): Promise<{     nextProcessedCursor?: number;     nextUnprocessedCursor?: number;     processed?: Record;     unprocessed?: string\[\]; }\>[](#getDependencies.getDependencies-1) * Get children job keys if this job is a parent and has children. #### Parameters * opts: [DependenciesOpts](../interfaces/v5.DependenciesOpts.html) = {} #### Returns Promise<{     nextProcessedCursor?: number;     nextUnprocessedCursor?: number;     processed?: Record;     unprocessed?: string\[\]; }\> dependencies separated by processed and unprocessed. #### Remarks Count options before Redis v7.2 works as expected with any quantity of entries on processed/unprocessed dependencies, since v7.2 you must consider that count won't have any effect until processed/unprocessed dependencies have a length greater than 127 #### See [https://redis.io/docs/management/optimization/memory-optimization/#redis--72](https://redis.io/docs/management/optimization/memory-optimization/#redis--72) ### getDependenciesCount[](#getDependenciesCount) * getDependenciesCount(opts?): Promise<{     processed?: number;     unprocessed?: number; }\>[](#getDependenciesCount.getDependenciesCount-1) * Get children job counts if this job is a parent and has children. #### Parameters * opts: {     processed?: boolean;     unprocessed?: boolean; } = {} * ##### `Optional` processed?: boolean * ##### `Optional` unprocessed?: boolean #### Returns Promise<{     processed?: number;     unprocessed?: number; }\> dependencies count separated by processed and unprocessed. ### getFailedChildrenValues[](#getFailedChildrenValues) * getFailedChildrenValues(): Promise<{     \[jobKey: string\]: string; }\>[](#getFailedChildrenValues.getFailedChildrenValues-1) * Get this jobs children failure values if any. #### Returns Promise<{     \[jobKey: string\]: string; }\> Object mapping children job keys with their failure values. ### getState[](#getState) * getState(): Promise<"unknown" | [JobState](../types/v5.JobState.html) \>[](#getState.getState-1) * Get current state. #### Returns Promise<"unknown" | [JobState](../types/v5.JobState.html) \> Returns one of these values: 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'. ### isActive[](#isActive) * isActive(): Promise[](#isActive.isActive-1) * #### Returns Promise true of the job is active. ### isCompleted[](#isCompleted) * isCompleted(): Promise[](#isCompleted.isCompleted-1) * #### Returns Promise true if the job has completed. ### isDelayed[](#isDelayed) * isDelayed(): Promise[](#isDelayed.isDelayed-1) * #### Returns Promise true if the job is delayed. ### isFailed[](#isFailed) * isFailed(): Promise[](#isFailed.isFailed-1) * #### Returns Promise true if the job has failed. ### isWaiting[](#isWaiting) * isWaiting(): Promise[](#isWaiting.isWaiting-1) * #### Returns Promise true if the job is waiting. ### isWaitingChildren[](#isWaitingChildren) * isWaitingChildren(): Promise[](#isWaitingChildren.isWaitingChildren-1) * #### Returns Promise true if the job is waiting for children. ### log[](#log) * log(logRow): Promise[](#log.log-1) * Logs one row of log data. #### Parameters * logRow: string string with log data to be logged. #### Returns Promise The total number of log entries for this job so far. ### moveToCompleted[](#moveToCompleted) * moveToCompleted(returnValue, token, fetchNext?): Promise[](#moveToCompleted.moveToCompleted-1) * Moves a job to the completed queue. Returned job to be used with Queue.prototype.nextJobFromJobData. #### Parameters * returnValue: [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) The jobs success message. * token: string Worker token used to acquire completed job. * fetchNext: boolean = true True when wanting to fetch the next job. #### Returns Promise Returns the jobData of the next job in the waiting queue or void. ### moveToDelayed[](#moveToDelayed) * moveToDelayed(timestamp, token?): Promise[](#moveToDelayed.moveToDelayed-1) * Moves the job to the delay set. #### Parameters * timestamp: number timestamp when the job should be moved back to "wait" * `Optional` token: string token to check job is locked by current worker #### Returns Promise ### moveToFailed[](#moveToFailed) * moveToFailed<[E](v5.Job.html#moveToFailed.moveToFailed-1.E) \>(err, token, fetchNext?): Promise[](#moveToFailed.moveToFailed-1) * Moves a job to the failed queue. #### Type Parameters * E extends Error #### Parameters * err: [E](v5.Job.html#moveToFailed.moveToFailed-1.E) the jobs error message. * token: string token to check job is locked by current worker * fetchNext: boolean = false true when wanting to fetch the next job #### Returns Promise Returns the jobData of the next job in the waiting queue or void. ### moveToWait[](#moveToWait) * moveToWait(token): Promise[](#moveToWait.moveToWait-1) * Moves a job to the wait or prioritized state. #### Parameters * token: string Worker token used to acquire completed job. #### Returns Promise Returns pttl. ### moveToWaitingChildren[](#moveToWaitingChildren) * moveToWaitingChildren(token, opts?): Promise[](#moveToWaitingChildren.moveToWaitingChildren-1) * Moves the job to the waiting-children set. #### Parameters * token: string Token to check job is locked by current worker * opts: [MoveToWaitingChildrenOpts](../interfaces/v5.MoveToWaitingChildrenOpts.html) = {} The options bag for moving a job to waiting-children. #### Returns Promise true if the job was moved ### promote[](#promote) * promote(): Promise[](#promote.promote-1) * Promotes a delayed job so that it starts to be processed as soon as possible. #### Returns Promise ### remove[](#remove) * remove(opts?): Promise[](#remove.remove-1) * Completely remove the job from the queue. Note, this call will throw an exception if the job is being processed when the call is performed. #### Parameters * opts: {     removeChildren: boolean; } = {} Options to remove a job * ##### removeChildren: boolean #### Returns Promise ### removeChildDependency[](#removeChildDependency) * removeChildDependency(): Promise[](#removeChildDependency.removeChildDependency-1) * Removes child dependency from parent when child is not yet finished #### Returns Promise True if the relationship existed and if it was removed. ### retry[](#retry) * retry(state?): Promise[](#retry.retry-1) * Attempts to retry the job. Only a job that has failed or completed can be retried. #### Parameters * state: [FinishedStatus](../types/v5.FinishedStatus.html) = 'failed' completed / failed #### Returns Promise If resolved and return code is 1, then the queue emits a waiting event otherwise the operation was not a success and throw the corresponding error. If the promise rejects, it indicates that the script failed to execute ### toJSON[](#toJSON) * toJSON(): Omit<[Job](v5.Job.html) <[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \>, "remove" | "prefix" | "toJSON" | "scripts" | "changeDelay" | "changePriority" | "extendLock" | "getState" | "moveToDelayed" | "moveToWaitingChildren" | "promote" | "removeChildDependency" | "updateData" | "updateProgress" | "discard" | "addJob" | "queue" | "asJSON" | "asJSONSandbox" | "log" | "clearLogs" | "moveToCompleted" | "moveToWait" | "moveToFailed" | "isCompleted" | "isFailed" | "isDelayed" | "isWaitingChildren" | "isActive" | "isWaiting" | "queueName" | "getChildrenValues" | "getFailedChildrenValues" | "getDependencies" | "getDependenciesCount" | "waitUntilFinished" | "retry"\>[](#toJSON.toJSON-1) * #### Returns Omit<[Job](v5.Job.html) <[DataType](v5.Job.html#constructor.new_Job.DataType-1) , [ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) , [NameType](v5.Job.html#constructor.new_Job.NameType-1) \>, "remove" | "prefix" | "toJSON" | "scripts" | "changeDelay" | "changePriority" | "extendLock" | "getState" | "moveToDelayed" | "moveToWaitingChildren" | "promote" | "removeChildDependency" | "updateData" | "updateProgress" | "discard" | "addJob" | "queue" | "asJSON" | "asJSONSandbox" | "log" | "clearLogs" | "moveToCompleted" | "moveToWait" | "moveToFailed" | "isCompleted" | "isFailed" | "isDelayed" | "isWaitingChildren" | "isActive" | "isWaiting" | "queueName" | "getChildrenValues" | "getFailedChildrenValues" | "getDependencies" | "getDependenciesCount" | "waitUntilFinished" | "retry"\> ### updateData[](#updateData) * updateData(data): Promise[](#updateData.updateData-1) * Updates a job's data #### Parameters * data: [DataType](v5.Job.html#constructor.new_Job.DataType-1) the data that will replace the current jobs data. #### Returns Promise ### updateProgress[](#updateProgress) * updateProgress(progress): Promise[](#updateProgress.updateProgress-1) * Updates a job's progress #### Parameters * progress: number | object number or object to be saved as progress. #### Returns Promise ### waitUntilFinished[](#waitUntilFinished) * waitUntilFinished(queueEvents, ttl?): Promise<[ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) \>[](#waitUntilFinished.waitUntilFinished-1) * Returns a promise the resolves when the job has completed (containing the return value of the job), or rejects when the job has failed (containing the failedReason). #### Parameters * queueEvents: [QueueEvents](v5.QueueEvents.html) Instance of QueueEvents. * `Optional` ttl: number Time in milliseconds to wait for job to finish before timing out. #### Returns Promise<[ReturnType](v5.Job.html#constructor.new_Job.ReturnType-1) \> ### `Static` addJobLog[](#addJobLog) * addJobLog(queue, jobId, logRow, keepLogs?): Promise[](#addJobLog.addJobLog-1) * addJobLog #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) Queue instance * jobId: string Job id * logRow: string Log row * `Optional` keepLogs: number optional maximum number of logs to keep #### Returns Promise The total number of log entries for this job so far. ### `Static` create[](#create) * create<[T](v5.Job.html#create.create-1.T) , [R](v5.Job.html#create.create-1.R) , [N](v5.Job.html#create.create-1.N) \>(queue, name, data, opts?): Promise<[Job](v5.Job.html) <[T](v5.Job.html#create.create-1.T) , [R](v5.Job.html#create.create-1.R) , [N](v5.Job.html#create.create-1.N) \>\>[](#create.create-1) * Creates a new job and adds it to the queue. #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) the queue where to add the job. * name: [N](v5.Job.html#create.create-1.N) the name of the job. * data: [T](v5.Job.html#create.create-1.T) the payload of the job. * `Optional` opts: [JobsOptions](../types/v5.JobsOptions.html) the options bag for this job. #### Returns Promise<[Job](v5.Job.html) <[T](v5.Job.html#create.create-1.T) , [R](v5.Job.html#create.create-1.R) , [N](v5.Job.html#create.create-1.N) \>\> ### `Static` createBulk[](#createBulk) * createBulk<[T](v5.Job.html#createBulk.createBulk-1.T-1) , [R](v5.Job.html#createBulk.createBulk-1.R-1) , [N](v5.Job.html#createBulk.createBulk-1.N-1) \>(queue, jobs): Promise<[Job](v5.Job.html) <[T](v5.Job.html#createBulk.createBulk-1.T-1) , [R](v5.Job.html#createBulk.createBulk-1.R-1) , [N](v5.Job.html#createBulk.createBulk-1.N-1) \>\[\]\>[](#createBulk.createBulk-1) * Creates a bulk of jobs and adds them atomically to the given queue. #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) the queue were to add the jobs. * jobs: {     data: [T](v5.Job.html#createBulk.createBulk-1.T-1) ;     name: [N](v5.Job.html#createBulk.createBulk-1.N-1) ;     opts?: [BulkJobOptions](../types/v5.BulkJobOptions.html) ; }\[\] an array of jobs to be added to the queue. #### Returns Promise<[Job](v5.Job.html) <[T](v5.Job.html#createBulk.createBulk-1.T-1) , [R](v5.Job.html#createBulk.createBulk-1.R-1) , [N](v5.Job.html#createBulk.createBulk-1.N-1) \>\[\]\> ### `Static` fromId[](#fromId) * fromId<[T](v5.Job.html#fromId.fromId-1.T-2) , [R](v5.Job.html#fromId.fromId-1.R-2) , [N](v5.Job.html#fromId.fromId-1.N-2) \>(queue, jobId): Promise<[Job](v5.Job.html) <[T](v5.Job.html#fromId.fromId-1.T-2) , [R](v5.Job.html#fromId.fromId-1.R-2) , [N](v5.Job.html#fromId.fromId-1.N-2) \>\>[](#fromId.fromId-1) * Fetches a Job from the queue given the passed job id. #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) the queue where the job belongs to. * jobId: string the job id. #### Returns Promise<[Job](v5.Job.html) <[T](v5.Job.html#fromId.fromId-1.T-2) , [R](v5.Job.html#fromId.fromId-1.R-2) , [N](v5.Job.html#fromId.fromId-1.N-2) \>\> ### `Static` fromJSON[](#fromJSON) * fromJSON<[T](v5.Job.html#fromJSON.fromJSON-1.T-3) , [R](v5.Job.html#fromJSON.fromJSON-1.R-3) , [N](v5.Job.html#fromJSON.fromJSON-1.N-3) \>(queue, json, jobId?): [Job](v5.Job.html) <[T](v5.Job.html#fromJSON.fromJSON-1.T-3) , [R](v5.Job.html#fromJSON.fromJSON-1.R-3) , [N](v5.Job.html#fromJSON.fromJSON-1.N-3) \>[](#fromJSON.fromJSON-1) * Instantiates a Job from a JobJsonRaw object (coming from a deserialized JSON object) #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) the queue where the job belongs to. * json: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) the plain object containing the job. * `Optional` jobId: string an optional job id (overrides the id coming from the JSON object) #### Returns [Job](v5.Job.html) <[T](v5.Job.html#fromJSON.fromJSON-1.T-3) , [R](v5.Job.html#fromJSON.fromJSON-1.R-3) , [N](v5.Job.html#fromJSON.fromJSON-1.N-3) \> ### `Static` optsAsJSON[](#optsAsJSON) * optsAsJSON(opts?): [RedisJobOptions](../types/v5.RedisJobOptions.html) [](#optsAsJSON.optsAsJSON-1) * #### Parameters * opts: [JobsOptions](../types/v5.JobsOptions.html) = {} #### Returns [RedisJobOptions](../types/v5.RedisJobOptions.html) ### `Static` optsFromJSON[](#optsFromJSON) * optsFromJSON(rawOpts?): [JobsOptions](../types/v5.JobsOptions.html) [](#optsFromJSON.optsFromJSON-1) * #### Parameters * `Optional` rawOpts: string #### Returns [JobsOptions](../types/v5.JobsOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [attemptsMade](#attemptsMade) * [attemptsStarted](#attemptsStarted) * [data](#data) * [debounceId](#debounceId) * [deduplicationId](#deduplicationId) * [delay](#delay) * [failedReason](#failedReason) * [finishedOn](#finishedOn) * [id](#id) * [name](#name) * [nextRepeatableJobId](#nextRepeatableJobId) * [opts](#opts) * [parent](#parent) * [parentKey](#parentKey) * [priority](#priority) * [processedBy](#processedBy) * [processedOn](#processedOn) * [progress](#progress) * [queueQualifiedName](#queueQualifiedName) * [repeatJobKey](#repeatJobKey) * [returnvalue](#returnvalue) * [stacktrace](#stacktrace) * [timestamp](#timestamp) * [token](#token) * [prefix](#prefix) * [queueName](#queueName) * [addJob](#addJob) * [asJSON](#asJSON) * [asJSONSandbox](#asJSONSandbox) * [changeDelay](#changeDelay) * [changePriority](#changePriority) * [clearLogs](#clearLogs) * [discard](#discard) * [extendLock](#extendLock) * [getChildrenValues](#getChildrenValues) * [getDependencies](#getDependencies) * [getDependenciesCount](#getDependenciesCount) * [getFailedChildrenValues](#getFailedChildrenValues) * [getState](#getState) * [isActive](#isActive) * [isCompleted](#isCompleted) * [isDelayed](#isDelayed) * [isFailed](#isFailed) * [isWaiting](#isWaiting) * [isWaitingChildren](#isWaitingChildren) * [log](#log) * [moveToCompleted](#moveToCompleted) * [moveToDelayed](#moveToDelayed) * [moveToFailed](#moveToFailed) * [moveToWait](#moveToWait) * [moveToWaitingChildren](#moveToWaitingChildren) * [promote](#promote) * [remove](#remove) * [removeChildDependency](#removeChildDependency) * [retry](#retry) * [toJSON](#toJSON) * [updateData](#updateData) * [updateProgress](#updateProgress) * [waitUntilFinished](#waitUntilFinished) * [addJobLog](#addJobLog) * [create](#create) * [createBulk](#createBulk) * [fromId](#fromId) * [fromJSON](#fromJSON) * [optsAsJSON](#optsAsJSON) * [optsFromJSON](#optsFromJSON) Generated using [TypeDoc](https://typedoc.org/) --- # v1 | bullmq - v5.41.8 * [bullmq](../index.html) * [v1](v1.html) Module v1 ========= ##### Index ### Enumerations [ChildCommand](../enums/v1.ChildCommand.html) [ClientType](../enums/v1.ClientType.html) [ErrorCode](../enums/v1.ErrorCode.html) [MetricsTime](../enums/v1.MetricsTime.html) [ParentCommand](../enums/v1.ParentCommand.html) ### Classes [Backoffs](../classes/v1.Backoffs.html) [ChildPool](../classes/v1.ChildPool.html) [ChildProcessor](../classes/v1.ChildProcessor.html) [FlowProducer](../classes/v1.FlowProducer.html) [Job](../classes/v1.Job.html) [Queue](../classes/v1.Queue.html) [Queue3](../classes/v1.Queue3.html) [QueueBase](../classes/v1.QueueBase.html) [QueueEvents](../classes/v1.QueueEvents.html) [QueueGetters](../classes/v1.QueueGetters.html) [QueueKeys](../classes/v1.QueueKeys.html) [QueueScheduler](../classes/v1.QueueScheduler.html) [RedisConnection](../classes/v1.RedisConnection.html) [Repeat](../classes/v1.Repeat.html) [ScriptLoader](../classes/v1.ScriptLoader.html) [ScriptLoaderError](../classes/v1.ScriptLoaderError.html) [Scripts](../classes/v1.Scripts.html) [TimerManager](../classes/v1.TimerManager.html) [UnrecoverableError](../classes/v1.UnrecoverableError.html) [Worker](../classes/v1.Worker.html) ### Interfaces [AddChildrenOpts](../interfaces/v1.AddChildrenOpts.html) [AddNodeOpts](../interfaces/v1.AddNodeOpts.html) [AdvancedOptions](../interfaces/v1.AdvancedOptions.html) [AdvancedRepeatOptions](../interfaces/v1.AdvancedRepeatOptions.html) [BackoffOptions](../interfaces/v1.BackoffOptions.html) [BaseJobOptions](../interfaces/v1.BaseJobOptions.html) [ChildMessage](../interfaces/v1.ChildMessage.html) [ChildProcessExt](../interfaces/v1.ChildProcessExt.html) [Command](../interfaces/v1.Command.html) [DependenciesOpts](../interfaces/v1.DependenciesOpts.html) [FlowJob](../interfaces/v1.FlowJob.html) [FlowOpts](../interfaces/v1.FlowOpts.html) [FlowProducerListener](../interfaces/v1.FlowProducerListener.html) [GetNextJobOptions](../interfaces/v1.GetNextJobOptions.html) [IConnection](../interfaces/v1.IConnection.html) [IoredisListener](../interfaces/v1.IoredisListener.html) [JobInformation3](../interfaces/v1.JobInformation3.html) [JobJson](../interfaces/v1.JobJson.html) [JobJsonRaw](../interfaces/v1.JobJsonRaw.html) [JobNode](../interfaces/v1.JobNode.html) [JobPromise3](../interfaces/v1.JobPromise3.html) [JobsOptions](../interfaces/v1.JobsOptions.html) [KeepJobs](../interfaces/v1.KeepJobs.html) [Metrics](../interfaces/v1.Metrics.html) [MetricsOptions](../interfaces/v1.MetricsOptions.html) [MoveToWaitingChildrenOpts](../interfaces/v1.MoveToWaitingChildrenOpts.html) [NodeOpts](../interfaces/v1.NodeOpts.html) [ObliterateOpts](../interfaces/v1.ObliterateOpts.html) [Parent](../interfaces/v1.Parent.html) [ParentKeys](../interfaces/v1.ParentKeys.html) [ParentMessage](../interfaces/v1.ParentMessage.html) [QueueBaseOptions](../interfaces/v1.QueueBaseOptions.html) [QueueEventsListener](../interfaces/v1.QueueEventsListener.html) [QueueEventsOptions](../interfaces/v1.QueueEventsOptions.html) [QueueListener](../interfaces/v1.QueueListener.html) [QueueOptions](../interfaces/v1.QueueOptions.html) [QueueSchedulerListener](../interfaces/v1.QueueSchedulerListener.html) [QueueSchedulerOptions](../interfaces/v1.QueueSchedulerOptions.html) [RateLimiterOptions](../interfaces/v1.RateLimiterOptions.html) [RepeatBaseOptions](../interfaces/v1.RepeatBaseOptions.html) [RepeatOptions](../interfaces/v1.RepeatOptions.html) [SandboxedJob](../interfaces/v1.SandboxedJob.html) [ScriptMetadata](../interfaces/v1.ScriptMetadata.html) [Strategies](../interfaces/v1.Strategies.html) [WorkerListener](../interfaces/v1.WorkerListener.html) [WorkerOptions](../interfaces/v1.WorkerOptions.html) ### Type Aliases [ActiveEventCallback3](v1.html#ActiveEventCallback3) [BackoffFunction](v1.html#BackoffFunction) [BulkJobOptions](v1.html#BulkJobOptions) [CleanedEventCallback3](v1.html#CleanedEventCallback3) [ClusterOptions](v1.html#ClusterOptions) [CompletedEventCallback3](v1.html#CompletedEventCallback3) [ConnectionOptions](v1.html#ConnectionOptions) [EntryId](v1.html#EntryId) [EntryRaw](v1.html#EntryRaw) [ErrorEventCallback3](v1.html#ErrorEventCallback3) [EventCallback3](v1.html#EventCallback3) [FailedEventCallback3](v1.html#FailedEventCallback3) [FinishedPropValAttribute](v1.html#FinishedPropValAttribute) [FinishedStatus](v1.html#FinishedStatus) [FlowQueuesOpts](v1.html#FlowQueuesOpts) [JobData](v1.html#JobData) [JobJsonSandbox](v1.html#JobJsonSandbox) [JobState](v1.html#JobState) [JobStatusClean3](v1.html#JobStatusClean3) [JobType](v1.html#JobType) [KeysMap](v1.html#KeysMap) [MinimalQueue](v1.html#MinimalQueue) [ParentOpts](v1.html#ParentOpts) [Processor](v1.html#Processor) [ProgressEventCallback3](v1.html#ProgressEventCallback3) [RedisClient](v1.html#RedisClient) [RedisOptions](v1.html#RedisOptions) [RemovedEventCallback3](v1.html#RemovedEventCallback3) [RepeatStrategy](v1.html#RepeatStrategy) [SandboxedJobProcessor](v1.html#SandboxedJobProcessor) [StalledEventCallback3](v1.html#StalledEventCallback3) [StreamName](v1.html#StreamName) [StreamReadRaw](v1.html#StreamReadRaw) [WaitingEventCallback3](v1.html#WaitingEventCallback3) ### Variables [DELAY\_TIME\_1](../variables/v1.DELAY_TIME_1.html) [DELAY\_TIME\_5](../variables/v1.DELAY_TIME_5.html) [QUEUE\_EVENT\_SUFFIX](../variables/v1.QUEUE_EVENT_SUFFIX.html) [QUEUE\_SCHEDULER\_SUFFIX](../variables/v1.QUEUE_SCHEDULER_SUFFIX.html) [WORKER\_SUFFIX](../variables/v1.WORKER_SUFFIX.html) [clientCommandMessageReg](../variables/v1.clientCommandMessageReg.html) [errorObject](../variables/v1.errorObject.html) [scriptLoader](../variables/v1.scriptLoader-1.html) ### Functions [array2obj](../functions/v1.array2obj.html) [asyncSend](../functions/v1.asyncSend.html) [childSend](../functions/v1.childSend.html) [delay](../functions/v1.delay.html) [getNextMillis](../functions/v1.getNextMillis.html) [getParentKey](../functions/v1.getParentKey.html) [isEmpty](../functions/v1.isEmpty.html) [isNotConnectionError](../functions/v1.isNotConnectionError.html) [isRedisCluster](../functions/v1.isRedisCluster.html) [isRedisInstance](../functions/v1.isRedisInstance.html) [isRedisVersionLowerThan](../functions/v1.isRedisVersionLowerThan.html) [jobIdForGroup](../functions/v1.jobIdForGroup.html) [killAsync](../functions/v1.killAsync.html) [lengthInUtf8Bytes](../functions/v1.lengthInUtf8Bytes.html) [parentSend](../functions/v1.parentSend.html) [raw2jobData](../functions/v1.raw2jobData.html) [removeAllQueueData](../functions/v1.removeAllQueueData.html) [tryCatch](../functions/v1.tryCatch.html) Type Aliases ------------ ### ActiveEventCallback3[](#ActiveEventCallback3) ActiveEventCallback3<[T](v1.html#ActiveEventCallback3.T) \>: ((job, jobPromise?) => void) #### Type Parameters * T = any #### Type declaration * * (job, jobPromise?): void * #### Parameters * job: [Job](../classes/v1.Job.html) * `Optional` jobPromise: [JobPromise3](../interfaces/v1.JobPromise3.html) #### Returns void ### BackoffFunction[](#BackoffFunction) BackoffFunction: ((attemptsMade?, err?, job?) => number) #### Type declaration * * (attemptsMade?, err?, job?): number * #### Parameters * `Optional` attemptsMade: number * `Optional` err: Error * `Optional` job: [Job](../classes/v1.Job.html) #### Returns number ### BulkJobOptions[](#BulkJobOptions) BulkJobOptions: Omit<[JobsOptions](../interfaces/v1.JobsOptions.html) , "repeat"\> ### CleanedEventCallback3[](#CleanedEventCallback3) CleanedEventCallback3<[T](v1.html#CleanedEventCallback3.T-1) \>: ((jobs, status) => void) #### Type Parameters * T = any #### Type declaration * * (jobs, status): void * #### Parameters * jobs: [Job](../classes/v1.Job.html) \[\] * status: [JobStatusClean3](v1.html#JobStatusClean3) #### Returns void ### ClusterOptions[](#ClusterOptions) ClusterOptions: IORedis.ClusterOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### CompletedEventCallback3[](#CompletedEventCallback3) CompletedEventCallback3<[T](v1.html#CompletedEventCallback3.T-2) \>: ((job, result) => void) #### Type Parameters * T = any #### Type declaration * * (job, result): void * #### Parameters * job: [Job](../classes/v1.Job.html) * result: any #### Returns void ### ConnectionOptions[](#ConnectionOptions) ConnectionOptions: [RedisOptions](v1.html#RedisOptions) | [ClusterOptions](v1.html#ClusterOptions) | IORedis.Redis | IORedis.Cluster ### EntryId[](#EntryId) EntryId: string ### EntryRaw[](#EntryRaw) EntryRaw: \[[EntryId](v1.html#EntryId)\ , string\[\]\] ### ErrorEventCallback3[](#ErrorEventCallback3) ErrorEventCallback3: ((error) => void) #### Type declaration * * (error): void * #### Parameters * error: Error #### Returns void ### EventCallback3[](#EventCallback3) EventCallback3: (() => void) #### Type declaration * * (): void * #### Returns void ### FailedEventCallback3[](#FailedEventCallback3) FailedEventCallback3<[T](v1.html#FailedEventCallback3.T-3) \>: ((job, error) => void) #### Type Parameters * T = any #### Type declaration * * (job, error): void * #### Parameters * job: [Job](../classes/v1.Job.html) * error: Error #### Returns void ### FinishedPropValAttribute[](#FinishedPropValAttribute) FinishedPropValAttribute: "returnvalue" | "failedReason" ### FinishedStatus[](#FinishedStatus) FinishedStatus: "completed" | "failed" ### FlowQueuesOpts[](#FlowQueuesOpts) FlowQueuesOpts: Record\> ### JobData[](#JobData) JobData: \[[JobJsonRaw](../interfaces/v1.JobJsonRaw.html)\ | number, string?\] ### JobJsonSandbox[](#JobJsonSandbox) JobJsonSandbox: [JobJson](../interfaces/v1.JobJson.html) & {     prefix: string;     queueName: string; } #### Type declaration * ##### prefix: string * ##### queueName: string ### JobState[](#JobState) JobState: [FinishedStatus](v1.html#FinishedStatus) | "active" | "delayed" | "waiting" | "waiting-children" ### JobStatusClean3[](#JobStatusClean3) JobStatusClean3: "completed" | "wait" | "active" | "delayed" | "paused" | "failed" ### JobType[](#JobType) JobType: [JobState](v1.html#JobState) | "paused" | "repeat" | "wait" ### KeysMap[](#KeysMap) KeysMap: {     \[index in string\]: string } ### MinimalQueue[](#MinimalQueue) MinimalQueue: Pick<[QueueBase](../classes/v1.QueueBase.html) , "name" | "client" | "toKey" | "keys" | "opts" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion"\> ### ParentOpts[](#ParentOpts) ParentOpts: {     parentDependenciesKey?: string;     parentKey?: string;     waitChildrenKey?: string; } #### Type declaration * ##### `Optional` parentDependenciesKey?: string * ##### `Optional` parentKey?: string * ##### `Optional` waitChildrenKey?: string ### Processor[](#Processor) Processor<[T](v1.html#Processor.T-4) , [R](v1.html#Processor.R) , [N](v1.html#Processor.N) \>: ((job, token?) => Promise) #### Type Parameters * T = any * R = any * N extends string = string #### Type declaration * * (job, token?): Promise * An async function that receives `Job`s and handles them. #### Parameters * job: [Job](../classes/v1.Job.html) * `Optional` token: string #### Returns Promise ### ProgressEventCallback3[](#ProgressEventCallback3) ProgressEventCallback3<[T](v1.html#ProgressEventCallback3.T-5) \>: ((job, progress) => void) #### Type Parameters * T = any #### Type declaration * * (job, progress): void * #### Parameters * job: [Job](../classes/v1.Job.html) * progress: any #### Returns void ### RedisClient[](#RedisClient) RedisClient: Redis | Cluster ### RedisOptions[](#RedisOptions) RedisOptions: IORedis.RedisOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### RemovedEventCallback3[](#RemovedEventCallback3) RemovedEventCallback3<[T](v1.html#RemovedEventCallback3.T-6) \>: ((job) => void) #### Type Parameters * T = any #### Type declaration * * (job): void * #### Parameters * job: [Job](../classes/v1.Job.html) #### Returns void ### RepeatStrategy[](#RepeatStrategy) RepeatStrategy: ((millis, opts, name?) => number) #### Type declaration * * (millis, opts, name?): number * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v1.RepeatOptions.html) * `Optional` name: string #### Returns number ### SandboxedJobProcessor[](#SandboxedJobProcessor) SandboxedJobProcessor<[T](v1.html#SandboxedJobProcessor.T-7) , [R](v1.html#SandboxedJobProcessor.R-1) \>: ((job) => R | PromiseLike) | ((job, callback) => void) #### Type Parameters * T = any * R = any #### Type declaration * * (job): R | PromiseLike * #### Parameters * job: [SandboxedJob](../interfaces/v1.SandboxedJob.html) #### Returns R | PromiseLike #### Type declaration * * (job, callback): void * #### Parameters * job: [SandboxedJob](../interfaces/v1.SandboxedJob.html) * callback: ((error, result) => void) * * (error, result): void * #### Parameters * error: unknown * result: R #### Returns void #### Returns void #### See [https://docs.bullmq.io/guide/workers/sandboxed-processors](https://docs.bullmq.io/guide/workers/sandboxed-processors) ### StalledEventCallback3[](#StalledEventCallback3) StalledEventCallback3<[T](v1.html#StalledEventCallback3.T-8) \>: ((job) => void) #### Type Parameters * T = any #### Type declaration * * (job): void * #### Parameters * job: [Job](../classes/v1.Job.html) #### Returns void ### StreamName[](#StreamName) StreamName: string ### StreamReadRaw[](#StreamReadRaw) StreamReadRaw: \[[StreamName](v1.html#StreamName)\ , [EntryRaw](v1.html#EntryRaw)\ \[\]\]\[\] ### WaitingEventCallback3[](#WaitingEventCallback3) WaitingEventCallback3: ((jobId) => void) #### Type declaration * * (jobId): void * #### Parameters * jobId: string #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [ActiveEventCallback3](#ActiveEventCallback3) * [BackoffFunction](#BackoffFunction) * [BulkJobOptions](#BulkJobOptions) * [CleanedEventCallback3](#CleanedEventCallback3) * [ClusterOptions](#ClusterOptions) * [CompletedEventCallback3](#CompletedEventCallback3) * [ConnectionOptions](#ConnectionOptions) * [EntryId](#EntryId) * [EntryRaw](#EntryRaw) * [ErrorEventCallback3](#ErrorEventCallback3) * [EventCallback3](#EventCallback3) * [FailedEventCallback3](#FailedEventCallback3) * [FinishedPropValAttribute](#FinishedPropValAttribute) * [FinishedStatus](#FinishedStatus) * [FlowQueuesOpts](#FlowQueuesOpts) * [JobData](#JobData) * [JobJsonSandbox](#JobJsonSandbox) * [JobState](#JobState) * [JobStatusClean3](#JobStatusClean3) * [JobType](#JobType) * [KeysMap](#KeysMap) * [MinimalQueue](#MinimalQueue) * [ParentOpts](#ParentOpts) * [Processor](#Processor) * [ProgressEventCallback3](#ProgressEventCallback3) * [RedisClient](#RedisClient) * [RedisOptions](#RedisOptions) * [RemovedEventCallback3](#RemovedEventCallback3) * [RepeatStrategy](#RepeatStrategy) * [SandboxedJobProcessor](#SandboxedJobProcessor) * [StalledEventCallback3](#StalledEventCallback3) * [StreamName](#StreamName) * [StreamReadRaw](#StreamReadRaw) * [WaitingEventCallback3](#WaitingEventCallback3) Generated using [TypeDoc](https://typedoc.org/) --- # JobScheduler | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobScheduler](v5.JobScheduler.html) Class JobScheduler ================== QueueBase #### Description Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes. #### Hierarchy ([view full](../hierarchy.html#v5.JobScheduler) ) * [QueueBase](v5.QueueBase.html) * JobScheduler ##### Index ### Constructors [constructor](v5.JobScheduler.html#constructor) ### Properties [closing](v5.JobScheduler.html#closing) [keys](v5.JobScheduler.html#keys) [name](v5.JobScheduler.html#name) [opts](v5.JobScheduler.html#opts) [qualifiedName](v5.JobScheduler.html#qualifiedName) [toKey](v5.JobScheduler.html#toKey) ### Accessors [client](v5.JobScheduler.html#client) [redisVersion](v5.JobScheduler.html#redisVersion) ### Methods [close](v5.JobScheduler.html#close) [disconnect](v5.JobScheduler.html#disconnect) [emit](v5.JobScheduler.html#emit) [getJobSchedulers](v5.JobScheduler.html#getJobSchedulers) [getScheduler](v5.JobScheduler.html#getScheduler) [getSchedulersCount](v5.JobScheduler.html#getSchedulersCount) [removeJobScheduler](v5.JobScheduler.html#removeJobScheduler) [trace](v5.JobScheduler.html#trace) [upsertJobScheduler](v5.JobScheduler.html#upsertJobScheduler) [waitUntilReady](v5.JobScheduler.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new JobScheduler(name, opts, Connection?): [JobScheduler](v5.JobScheduler.html) [](#constructor.new_JobScheduler) * #### Parameters * name: string * opts: [RepeatBaseOptions](../interfaces/v5.RepeatBaseOptions.html) * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [JobScheduler](v5.JobScheduler.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Parameters * event: string | symbol The emitted event. * `Rest` ...args: any\[\] #### Returns boolean ### getJobSchedulers[](#getJobSchedulers) * getJobSchedulers<[D](v5.JobScheduler.html#getJobSchedulers.getJobSchedulers-1.D) \>(start?, end?, asc?): Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[D](v5.JobScheduler.html#getJobSchedulers.getJobSchedulers-1.D) \>\[\]\>[](#getJobSchedulers.getJobSchedulers-1) * #### Type Parameters * D = any #### Parameters * start: number = 0 * end: number = -1 * asc: boolean = false #### Returns Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[D](v5.JobScheduler.html#getJobSchedulers.getJobSchedulers-1.D) \>\[\]\> ### getScheduler[](#getScheduler) * getScheduler<[D](v5.JobScheduler.html#getScheduler.getScheduler-1.D-1) \>(id): Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[D](v5.JobScheduler.html#getScheduler.getScheduler-1.D-1) \>\>[](#getScheduler.getScheduler-1) * #### Type Parameters * D = any #### Parameters * id: string #### Returns Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[D](v5.JobScheduler.html#getScheduler.getScheduler-1.D-1) \>\> ### getSchedulersCount[](#getSchedulersCount) * getSchedulersCount(): Promise[](#getSchedulersCount.getSchedulersCount-1) * #### Returns Promise ### removeJobScheduler[](#removeJobScheduler) * removeJobScheduler(jobSchedulerId): Promise[](#removeJobScheduler.removeJobScheduler-1) * #### Parameters * jobSchedulerId: string #### Returns Promise ### trace[](#trace) * trace<[T](v5.JobScheduler.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### upsertJobScheduler[](#upsertJobScheduler) * upsertJobScheduler<[T](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.T-1) , [R](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.R) , [N](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.N) \>(jobSchedulerId, repeatOpts, jobName, jobData, opts, \_\_namedParameters): Promise<[Job](v5.Job.html) <[T](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.T-1) , [R](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.R) , [N](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.N) \>\>[](#upsertJobScheduler.upsertJobScheduler-1) * #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * jobSchedulerId: string * repeatOpts: Omit<[RepeatOptions](../interfaces/v5.RepeatOptions.html) , "key" | "prevMillis"\> * jobName: [N](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.N) * jobData: [T](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.T-1) * opts: [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) * \_\_namedParameters: {     override: boolean;     producerId?: string; } * ##### override: boolean * ##### `Optional` producerId?: string #### Returns Promise<[Job](v5.Job.html) <[T](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.T-1) , [R](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.R) , [N](v5.JobScheduler.html#upsertJobScheduler.upsertJobScheduler-1.N) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [getJobSchedulers](#getJobSchedulers) * [getScheduler](#getScheduler) * [getSchedulersCount](#getSchedulersCount) * [removeJobScheduler](#removeJobScheduler) * [trace](#trace) * [upsertJobScheduler](#upsertJobScheduler) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # QueueEventsProducer | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueEventsProducer](v5.QueueEventsProducer.html) Class QueueEventsProducer ========================= The QueueEventsProducer class is used for publishing custom events. #### Hierarchy ([view full](../hierarchy.html#v5.QueueEventsProducer) ) * [QueueBase](v5.QueueBase.html) * QueueEventsProducer ##### Index ### Constructors [constructor](v5.QueueEventsProducer.html#constructor) ### Properties [closing](v5.QueueEventsProducer.html#closing) [keys](v5.QueueEventsProducer.html#keys) [name](v5.QueueEventsProducer.html#name) [opts](v5.QueueEventsProducer.html#opts) [qualifiedName](v5.QueueEventsProducer.html#qualifiedName) [toKey](v5.QueueEventsProducer.html#toKey) ### Accessors [client](v5.QueueEventsProducer.html#client) [redisVersion](v5.QueueEventsProducer.html#redisVersion) ### Methods [close](v5.QueueEventsProducer.html#close) [disconnect](v5.QueueEventsProducer.html#disconnect) [emit](v5.QueueEventsProducer.html#emit) [publishEvent](v5.QueueEventsProducer.html#publishEvent) [trace](v5.QueueEventsProducer.html#trace) [waitUntilReady](v5.QueueEventsProducer.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new QueueEventsProducer(name, opts?, Connection?): [QueueEventsProducer](v5.QueueEventsProducer.html) [](#constructor.new_QueueEventsProducer) * #### Parameters * name: string * opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [QueueEventsProducer](v5.QueueEventsProducer.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Parameters * event: string | symbol The emitted event. * `Rest` ...args: any\[\] #### Returns boolean ### publishEvent[](#publishEvent) * publishEvent<[T](v5.QueueEventsProducer.html#publishEvent.publishEvent-1.T) \>(argsObj, maxEvents?): Promise[](#publishEvent.publishEvent-1) * Publish custom event to be processed in QueueEvents. #### Type Parameters * T extends {     eventName: string; } #### Parameters * argsObj: [T](v5.QueueEventsProducer.html#publishEvent.publishEvent-1.T) Event payload * maxEvents: number = 1000 Max quantity of events to be saved #### Returns Promise ### trace[](#trace) * trace<[T](v5.QueueEventsProducer.html#trace.trace-1.T-1) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [publishEvent](#publishEvent) * [trace](#trace) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # Queue | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Queue](v5.Queue.html) Class Queue ============================================================================================== Queue This class provides methods to add jobs to a queue and some other high-level administration such as pausing or deleting queues. #### Example import { Queue } from 'bullmq';interface MyDataType { foo: string;}interface MyResultType { bar: string;}const queue = new Queue('myQueue'); #### Type Parameters * DataTypeOrJob = any * DefaultResultType = any * DefaultNameType extends string = string * DataType = ExtractDataType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) \> The type of the data that the job will process. * ResultType = ExtractResultType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultResultType](v5.Queue.html#constructor.new_Queue.DefaultResultType-1) \> The type of the result of the job. * NameType extends string = ExtractNameType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultNameType](v5.Queue.html#constructor.new_Queue.DefaultNameType-1) \> The type of the name of the job. #### Hierarchy ([view full](../hierarchy.html#v5.Queue) ) * [QueueGetters](v5.QueueGetters.html) \> * Queue ##### Index ### Constructors [constructor](v5.Queue.html#constructor) ### Properties [closing](v5.Queue.html#closing) [jobsOpts](v5.Queue.html#jobsOpts) [keys](v5.Queue.html#keys) [name](v5.Queue.html#name) [opts](v5.Queue.html#opts) [qualifiedName](v5.Queue.html#qualifiedName) [toKey](v5.Queue.html#toKey) [token](v5.Queue.html#token) ### Accessors [client](v5.Queue.html#client) [defaultJobOptions](v5.Queue.html#defaultJobOptions) [jobScheduler](v5.Queue.html#jobScheduler) [metaValues](v5.Queue.html#metaValues) [redisVersion](v5.Queue.html#redisVersion) [repeat](v5.Queue.html#repeat) ### Methods [add](v5.Queue.html#add) [addBulk](v5.Queue.html#addBulk) [addJobLog](v5.Queue.html#addJobLog) [clean](v5.Queue.html#clean) [close](v5.Queue.html#close) [count](v5.Queue.html#count) [disconnect](v5.Queue.html#disconnect) [drain](v5.Queue.html#drain) [emit](v5.Queue.html#emit) [exportPrometheusMetrics](v5.Queue.html#exportPrometheusMetrics) [getActive](v5.Queue.html#getActive) [getActiveCount](v5.Queue.html#getActiveCount) [getCompleted](v5.Queue.html#getCompleted) [getCompletedCount](v5.Queue.html#getCompletedCount) [getCountsPerPriority](v5.Queue.html#getCountsPerPriority) [getDebounceJobId](v5.Queue.html#getDebounceJobId) [getDeduplicationJobId](v5.Queue.html#getDeduplicationJobId) [getDelayed](v5.Queue.html#getDelayed) [getDelayedCount](v5.Queue.html#getDelayedCount) [getDependencies](v5.Queue.html#getDependencies) [getFailed](v5.Queue.html#getFailed) [getFailedCount](v5.Queue.html#getFailedCount) [getGlobalConcurrency](v5.Queue.html#getGlobalConcurrency) [getJob](v5.Queue.html#getJob) [getJobCountByTypes](v5.Queue.html#getJobCountByTypes) [getJobCounts](v5.Queue.html#getJobCounts) [getJobLogs](v5.Queue.html#getJobLogs) [getJobScheduler](v5.Queue.html#getJobScheduler) [getJobSchedulers](v5.Queue.html#getJobSchedulers) [getJobSchedulersCount](v5.Queue.html#getJobSchedulersCount) [getJobState](v5.Queue.html#getJobState) [getJobs](v5.Queue.html#getJobs) [getMetrics](v5.Queue.html#getMetrics) [getPrioritized](v5.Queue.html#getPrioritized) [getPrioritizedCount](v5.Queue.html#getPrioritizedCount) [getQueueEvents](v5.Queue.html#getQueueEvents) [getRanges](v5.Queue.html#getRanges) [getRateLimitTtl](v5.Queue.html#getRateLimitTtl) [getRepeatableJobs](v5.Queue.html#getRepeatableJobs) [getVersion](v5.Queue.html#getVersion) [getWaiting](v5.Queue.html#getWaiting) [getWaitingChildren](v5.Queue.html#getWaitingChildren) [getWaitingChildrenCount](v5.Queue.html#getWaitingChildrenCount) [getWaitingCount](v5.Queue.html#getWaitingCount) [getWorkers](v5.Queue.html#getWorkers) [getWorkersCount](v5.Queue.html#getWorkersCount) [isMaxed](v5.Queue.html#isMaxed) [isPaused](v5.Queue.html#isPaused) [obliterate](v5.Queue.html#obliterate) [off](v5.Queue.html#off) [on](v5.Queue.html#on) [once](v5.Queue.html#once) [pause](v5.Queue.html#pause) [promoteJobs](v5.Queue.html#promoteJobs) [rateLimit](v5.Queue.html#rateLimit) [remove](v5.Queue.html#remove) [removeDebounceKey](v5.Queue.html#removeDebounceKey) [removeDeduplicationKey](v5.Queue.html#removeDeduplicationKey) [removeDeprecatedPriorityKey](v5.Queue.html#removeDeprecatedPriorityKey) [removeGlobalConcurrency](v5.Queue.html#removeGlobalConcurrency) [removeJobScheduler](v5.Queue.html#removeJobScheduler) [removeRateLimitKey](v5.Queue.html#removeRateLimitKey) [removeRepeatable](v5.Queue.html#removeRepeatable) [removeRepeatableByKey](v5.Queue.html#removeRepeatableByKey) [resume](v5.Queue.html#resume) [retryJobs](v5.Queue.html#retryJobs) [setGlobalConcurrency](v5.Queue.html#setGlobalConcurrency) [trace](v5.Queue.html#trace) [trimEvents](v5.Queue.html#trimEvents) [updateJobProgress](v5.Queue.html#updateJobProgress) [upsertJobScheduler](v5.Queue.html#upsertJobScheduler) [waitUntilReady](v5.Queue.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new Queue<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultResultType](v5.Queue.html#constructor.new_Queue.DefaultResultType-1) , [DefaultNameType](v5.Queue.html#constructor.new_Queue.DefaultNameType-1) , [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>(name, opts?, Connection?): [Queue](v5.Queue.html) <[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultResultType](v5.Queue.html#constructor.new_Queue.DefaultResultType-1) , [DefaultNameType](v5.Queue.html#constructor.new_Queue.DefaultNameType-1) , [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>[](#constructor.new_Queue) * #### Type Parameters * DataTypeOrJob = any * DefaultResultType = any * DefaultNameType extends string = string * DataType = ExtractDataType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) \> * ResultType = ExtractResultType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultResultType](v5.Queue.html#constructor.new_Queue.DefaultResultType-1) \> * NameType extends string = ExtractNameType<[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultNameType](v5.Queue.html#constructor.new_Queue.DefaultNameType-1) \> #### Parameters * name: string * `Optional` opts: [QueueOptions](../interfaces/v5.QueueOptions.html) * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [Queue](v5.Queue.html) <[DataTypeOrJob](v5.Queue.html#constructor.new_Queue.DataTypeOrJob-1) , [DefaultResultType](v5.Queue.html#constructor.new_Queue.DefaultResultType-1) , [DefaultNameType](v5.Queue.html#constructor.new_Queue.DefaultNameType-1) , [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \> Properties ---------- ### closing[](#closing) closing: Promise ### jobsOpts[](#jobsOpts) jobsOpts: [BaseJobOptions](../interfaces/v5.BaseJobOptions.html) ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueOptions](../interfaces/v5.QueueOptions.html) Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string ### token[](#token) token: string = ... Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### defaultJobOptions[](#defaultJobOptions) * get defaultJobOptions(): [JobsOptions](../types/v5.JobsOptions.html) * Returns this instance current default job options. #### Returns [JobsOptions](../types/v5.JobsOptions.html) ### jobScheduler[](#jobScheduler) * get jobScheduler(): Promise<[JobScheduler](v5.JobScheduler.html) \> * #### Returns Promise<[JobScheduler](v5.JobScheduler.html) \> ### metaValues[](#metaValues) * get metaValues(): Record * #### Returns Record ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string ### repeat[](#repeat) * get repeat(): Promise<[Repeat](v5.Repeat.html) \> * #### Returns Promise<[Repeat](v5.Repeat.html) \> Methods ------- ### add[](#add) * add(name, data, opts?): Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\>[](#add.add-1) * Adds a new job to the queue. #### Parameters * name: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) Name of the job to be added to the queue. * data: [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) Arbitrary data to append to the job. * `Optional` opts: [JobsOptions](../types/v5.JobsOptions.html) Job options that affects how the job is going to be processed. #### Returns Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\> ### addBulk[](#addBulk) * addBulk(jobs): Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\[\]\>[](#addBulk.addBulk-1) * Adds an array of jobs to the queue. This method may be faster than adding one job at a time in a sequence. #### Parameters * jobs: {     data: [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) ;     name: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) ;     opts?: [BulkJobOptions](../types/v5.BulkJobOptions.html) ; }\[\] The array of jobs to add to the queue. Each job is defined by 3 properties, 'name', 'data' and 'opts'. They follow the same signature as 'Queue.add'. #### Returns Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\[\]\> ### addJobLog[](#addJobLog) * addJobLog(jobId, logRow, keepLogs?): Promise[](#addJobLog.addJobLog-1) * Logs one row of job's log data. #### Parameters * jobId: string The job id to log against. * logRow: string String with log data to be logged. * `Optional` keepLogs: number Max number of log entries to keep (0 for unlimited). #### Returns Promise The total number of log entries for this job so far. ### clean[](#clean) * clean(grace, limit, type?): Promise[](#clean.clean-1) * Cleans jobs from a queue. Similar to drain but keeps jobs within a certain grace period. #### Parameters * grace: number The grace period in milliseconds * limit: number Max number of jobs to clean * type: "failed" | "active" | "paused" | "completed" | "wait" | "prioritized" | "delayed" = 'completed' The type of job to clean Possible values are completed, wait, active, paused, delayed, failed. Defaults to completed. #### Returns Promise Id jobs from the deleted records ### close[](#close) * close(): Promise[](#close.close-1) * Close the queue instance. #### Returns Promise ### count[](#count) * count(): Promise[](#count.count-1) * Returns the number of jobs waiting to be processed. This includes jobs that are "waiting" or "delayed" or "prioritized" or "waiting-children". #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### drain[](#drain) * drain(delayed?): Promise[](#drain.drain-1) * Drains the queue, i.e., removes all jobs that are waiting or delayed, but not active, completed or failed. #### Parameters * delayed: boolean = false Pass true if it should also clean the delayed jobs. #### Returns Promise ### emit[](#emit) * emit<[U](v5.Queue.html#emit.emit-1.U) \>(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Type Parameters * U extends keyof [QueueListener](../interfaces/v5.QueueListener.html) \> #### Parameters * event: [U](v5.Queue.html#emit.emit-1.U) The emitted event. * `Rest` ...args: Parameters<[QueueListener](../interfaces/v5.QueueListener.html) \>\[[U](v5.Queue.html#emit.emit-1.U)\ \]\> #### Returns boolean ### exportPrometheusMetrics[](#exportPrometheusMetrics) * exportPrometheusMetrics(): Promise[](#exportPrometheusMetrics.exportPrometheusMetrics-1) * Export the metrics for the queue in the Prometheus format. Automatically exports all the counts returned by getJobCounts(). #### Returns Promise * Returns a string with the metrics in the Prometheus format. #### Sa [https://prometheus.io/docs/instrumenting/exposition\_formats/](https://prometheus.io/docs/instrumenting/exposition_formats/) ### getActive[](#getActive) * getActive(start?, end?): Promise\[\]\>[](#getActive.getActive-1) * Returns the jobs that are in the "active" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getActiveCount[](#getActiveCount) * getActiveCount(): Promise[](#getActiveCount.getActiveCount-1) * Returns the number of jobs in active status. #### Returns Promise ### getCompleted[](#getCompleted) * getCompleted(start?, end?): Promise\[\]\>[](#getCompleted.getCompleted-1) * Returns the jobs that are in the "completed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getCompletedCount[](#getCompletedCount) * getCompletedCount(): Promise[](#getCompletedCount.getCompletedCount-1) * Returns the number of jobs in completed status. #### Returns Promise ### getCountsPerPriority[](#getCountsPerPriority) * getCountsPerPriority(priorities): Promise<{     \[index: string\]: number; }\>[](#getCountsPerPriority.getCountsPerPriority-1) * Returns the number of jobs per priority. #### Parameters * priorities: number\[\] #### Returns Promise<{     \[index: string\]: number; }\> ### getDebounceJobId[](#getDebounceJobId) * getDebounceJobId(id): Promise[](#getDebounceJobId.getDebounceJobId-1) * Get jobId that starts debounced state. #### Parameters * id: string debounce identifier #### Returns Promise #### Deprecated use getDeduplicationJobId method ### getDeduplicationJobId[](#getDeduplicationJobId) * getDeduplicationJobId(id): Promise[](#getDeduplicationJobId.getDeduplicationJobId-1) * Get jobId from deduplicated state. #### Parameters * id: string deduplication identifier #### Returns Promise ### getDelayed[](#getDelayed) * getDelayed(start?, end?): Promise\[\]\>[](#getDelayed.getDelayed-1) * Returns the jobs that are in the "delayed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getDelayedCount[](#getDelayedCount) * getDelayedCount(): Promise[](#getDelayedCount.getDelayedCount-1) * Returns the number of jobs in delayed status. #### Returns Promise ### getDependencies[](#getDependencies) * getDependencies(parentId, type, start, end): Promise<{     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\>[](#getDependencies.getDependencies-1) * Returns the qualified job ids and the raw job data (if available) of the children jobs of the given parent job. It is possible to get either the already processed children, in this case an array of qualified job ids and their result values will be returned, or the pending children, in this case an array of qualified job ids will be returned. A qualified job id is a string representing the job id in a given queue, for example: "bull:myqueue:jobid". #### Parameters * parentId: string The id of the parent job * type: "pending" | "processed" "processed" | "pending" * start: number * end: number #### Returns Promise<{     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\> ### getFailed[](#getFailed) * getFailed(start?, end?): Promise\[\]\>[](#getFailed.getFailed-1) * Returns the jobs that are in the "failed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getFailedCount[](#getFailedCount) * getFailedCount(): Promise[](#getFailedCount.getFailedCount-1) * Returns the number of jobs in failed status. #### Returns Promise ### getGlobalConcurrency[](#getGlobalConcurrency) * getGlobalConcurrency(): Promise[](#getGlobalConcurrency.getGlobalConcurrency-1) * Get global concurrency value. Returns null in case no value is set. #### Returns Promise ### getJob[](#getJob) * getJob(jobId): Promise\>[](#getJob.getJob-1) * #### Parameters * jobId: string #### Returns Promise\> ### getJobCountByTypes[](#getJobCountByTypes) * getJobCountByTypes(...types): Promise[](#getJobCountByTypes.getJobCountByTypes-1) * Job counts by type Queue#getJobCountByTypes('completed') => completed count Queue#getJobCountByTypes('completed,failed') => completed + failed count Queue#getJobCountByTypes('completed', 'failed') => completed + failed count Queue#getJobCountByTypes('completed', 'waiting', 'failed') => completed + waiting + failed count #### Parameters * `Rest` ...types: [JobType](../types/v5.JobType.html) \[\] #### Returns Promise ### getJobCounts[](#getJobCounts) * getJobCounts(...types): Promise<{     \[index: string\]: number; }\>[](#getJobCounts.getJobCounts-1) * Returns the job counts for each type specified or every list/set in the queue by default. #### Parameters * `Rest` ...types: [JobType](../types/v5.JobType.html) \[\] #### Returns Promise<{     \[index: string\]: number; }\> An object, key (type) and value (count) ### getJobLogs[](#getJobLogs) * getJobLogs(jobId, start?, end?, asc?): Promise<{     count: number;     logs: string\[\]; }\>[](#getJobLogs.getJobLogs-1) * Returns the logs for a given Job. #### Parameters * jobId: string the id of the job to get the logs for. * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. * asc: boolean = true if true, the jobs will be returned in ascending order. #### Returns Promise<{     count: number;     logs: string\[\]; }\> ### getJobScheduler[](#getJobScheduler) * getJobScheduler(id): Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) \>\>[](#getJobScheduler.getJobScheduler-1) * Get Job Scheduler by id #### Parameters * id: string identifier of scheduler. #### Returns Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) \>\> ### getJobSchedulers[](#getJobSchedulers) * getJobSchedulers(start?, end?, asc?): Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) \>\[\]\>[](#getJobSchedulers.getJobSchedulers-1) * Get all Job Schedulers #### Parameters * `Optional` start: number Offset of first scheduler to return. * `Optional` end: number Offset of last scheduler to return. * `Optional` asc: boolean Determine the order in which schedulers are returned based on their next execution time. #### Returns Promise<[JobSchedulerJson](../interfaces/v5.JobSchedulerJson.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) \>\[\]\> ### getJobSchedulersCount[](#getJobSchedulersCount) * getJobSchedulersCount(): Promise[](#getJobSchedulersCount.getJobSchedulersCount-1) * Get the number of job schedulers. #### Returns Promise The number of job schedulers. ### getJobState[](#getJobState) * getJobState(jobId): Promise<"unknown" | [JobState](../types/v5.JobState.html) \>[](#getJobState.getJobState-1) * Get current job state. #### Parameters * jobId: string job identifier. #### Returns Promise<"unknown" | [JobState](../types/v5.JobState.html) \> Returns one of these values: 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'. ### getJobs[](#getJobs) * getJobs(types?, start?, end?, asc?): Promise\[\]\>[](#getJobs.getJobs-1) * Returns the jobs that are on the given statuses (note that JobType is synonym for job status) #### Parameters * `Optional` types: [JobType](../types/v5.JobType.html) | [JobType](../types/v5.JobType.html) \[\] the statuses of the jobs to return. * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. * asc: boolean = false if true, the jobs will be returned in ascending order. #### Returns Promise\[\]\> ### getMetrics[](#getMetrics) * getMetrics(type, start?, end?): Promise<[Metrics](../interfaces/v5.Metrics.html) \>[](#getMetrics.getMetrics-1) * Get queue metrics related to the queue. This method returns the gathered metrics for the queue. The metrics are represented as an array of job counts per unit of time (1 minute). #### Parameters * type: "failed" | "completed" * start: number = 0 Start point of the metrics, where 0 is the newest point to be returned. * end: number = -1 End point of the metrics, where -1 is the oldest point to be returned. #### Returns Promise<[Metrics](../interfaces/v5.Metrics.html) \> * Returns an object with queue metrics. ### getPrioritized[](#getPrioritized) * getPrioritized(start?, end?): Promise\[\]\>[](#getPrioritized.getPrioritized-1) * Returns the jobs that are in the "prioritized" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getPrioritizedCount[](#getPrioritizedCount) * getPrioritizedCount(): Promise[](#getPrioritizedCount.getPrioritizedCount-1) * Returns the number of jobs in prioritized status. #### Returns Promise ### getQueueEvents[](#getQueueEvents) * getQueueEvents(): Promise<{     \[index: string\]: string; }\[\]\>[](#getQueueEvents.getQueueEvents-1) * Get queue events list related to the queue. Note: GCP does not support SETNAME, so this call will not work #### Returns Promise<{     \[index: string\]: string; }\[\]\> * Returns an array with queue events info. #### Deprecated do not use this method, it will be removed in the future. ### getRanges[](#getRanges) * getRanges(types, start?, end?, asc?): Promise[](#getRanges.getRanges-1) * #### Parameters * types: [JobType](../types/v5.JobType.html) \[\] * start: number = 0 * end: number = 1 * asc: boolean = false #### Returns Promise ### getRateLimitTtl[](#getRateLimitTtl) * getRateLimitTtl(maxJobs?): Promise[](#getRateLimitTtl.getRateLimitTtl-1) * Returns the time to live for a rate limited key in milliseconds. #### Parameters * `Optional` maxJobs: number max jobs to be considered in rate limit state. If not passed it will return the remaining ttl without considering if max jobs is excedeed. #### Returns Promise \-2 if the key does not exist. -1 if the key exists but has no associated expire. #### See [https://redis.io/commands/pttl/](https://redis.io/commands/pttl/) ### getRepeatableJobs[](#getRepeatableJobs) * getRepeatableJobs(start?, end?, asc?): Promise<[RepeatableJob](../types/v5.RepeatableJob.html) \[\]\>[](#getRepeatableJobs.getRepeatableJobs-1) * Get all repeatable meta jobs. #### Parameters * `Optional` start: number Offset of first job to return. * `Optional` end: number Offset of last job to return. * `Optional` asc: boolean Determine the order in which jobs are returned based on their next execution time. #### Returns Promise<[RepeatableJob](../types/v5.RepeatableJob.html) \[\]\> #### Deprecated This method is deprecated and will be removed in v6. Use getJobSchedulers instead. ### getVersion[](#getVersion) * getVersion(): Promise[](#getVersion.getVersion-1) * Get library version. #### Returns Promise the content of the meta.library field. ### getWaiting[](#getWaiting) * getWaiting(start?, end?): Promise\[\]\>[](#getWaiting.getWaiting-1) * Returns the jobs that are in the "waiting" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getWaitingChildren[](#getWaitingChildren) * getWaitingChildren(start?, end?): Promise\[\]\>[](#getWaitingChildren.getWaitingChildren-1) * Returns the jobs that are in the "waiting-children" status. I.E. parent jobs that have at least one child that has not completed yet. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise\[\]\> ### getWaitingChildrenCount[](#getWaitingChildrenCount) * getWaitingChildrenCount(): Promise[](#getWaitingChildrenCount.getWaitingChildrenCount-1) * Returns the number of jobs in waiting-children status. #### Returns Promise ### getWaitingCount[](#getWaitingCount) * getWaitingCount(): Promise[](#getWaitingCount.getWaitingCount-1) * Returns the number of jobs in waiting or paused statuses. #### Returns Promise ### getWorkers[](#getWorkers) * getWorkers(): Promise<{     \[index: string\]: string; }\[\]\>[](#getWorkers.getWorkers-1) * Get the worker list related to the queue. i.e. all the known workers that are available to process jobs for this queue. Note: GCP does not support SETNAME, so this call will not work #### Returns Promise<{     \[index: string\]: string; }\[\]\> * Returns an array with workers info. ### getWorkersCount[](#getWorkersCount) * getWorkersCount(): Promise[](#getWorkersCount.getWorkersCount-1) * Returns the current count of workers for the queue. getWorkersCount(): Promise #### Returns Promise ### isMaxed[](#isMaxed) * isMaxed(): Promise[](#isMaxed.isMaxed-1) * Returns true if the queue is currently maxed. #### Returns Promise ### isPaused[](#isPaused) * isPaused(): Promise[](#isPaused.isPaused-1) * Returns true if the queue is currently paused. #### Returns Promise ### obliterate[](#obliterate) * obliterate(opts?): Promise[](#obliterate.obliterate-1) * Completely destroys the queue and all of its contents irreversibly. This method will the _pause_ the queue and requires that there are no active jobs. It is possible to bypass this requirement, i.e. not having active jobs using the "force" option. Note: This operation requires to iterate on all the jobs stored in the queue and can be slow for very large queues. #### Parameters * `Optional` opts: [ObliterateOpts](../interfaces/v5.ObliterateOpts.html) Obliterate options. #### Returns Promise ### off[](#off) * off<[U](v5.Queue.html#off.off-1.U-1) \>(eventName, listener): this[](#off.off-1) * #### Type Parameters * U extends keyof [QueueListener](../interfaces/v5.QueueListener.html) \> #### Parameters * eventName: [U](v5.Queue.html#off.off-1.U-1) * listener: [QueueListener](../interfaces/v5.QueueListener.html) \>\[[U](v5.Queue.html#off.off-1.U-1)\ \] #### Returns this ### on[](#on) * on<[U](v5.Queue.html#on.on-1.U-2) \>(event, listener): this[](#on.on-1) * #### Type Parameters * U extends keyof [QueueListener](../interfaces/v5.QueueListener.html) \> #### Parameters * event: [U](v5.Queue.html#on.on-1.U-2) * listener: [QueueListener](../interfaces/v5.QueueListener.html) \>\[[U](v5.Queue.html#on.on-1.U-2)\ \] #### Returns this ### once[](#once) * once<[U](v5.Queue.html#once.once-1.U-3) \>(event, listener): this[](#once.once-1) * #### Type Parameters * U extends keyof [QueueListener](../interfaces/v5.QueueListener.html) \> #### Parameters * event: [U](v5.Queue.html#once.once-1.U-3) * listener: [QueueListener](../interfaces/v5.QueueListener.html) \>\[[U](v5.Queue.html#once.once-1.U-3)\ \] #### Returns this ### pause[](#pause) * pause(): Promise[](#pause.pause-1) * Pauses the processing of this queue globally. We use an atomic RENAME operation on the wait queue. Since we have blocking calls with BRPOPLPUSH on the wait queue, as long as the queue is renamed to 'paused', no new jobs will be processed (the current ones will run until finalized). Adding jobs requires a LUA script to check first if the paused list exist and in that case it will add it there instead of the wait list. #### Returns Promise ### promoteJobs[](#promoteJobs) * promoteJobs(opts?): Promise[](#promoteJobs.promoteJobs-1) * Promote all the delayed jobs. #### Parameters * opts: {     count?: number; } = {} * ##### `Optional` count?: number #### Returns Promise ### rateLimit[](#rateLimit) * rateLimit(expireTimeMs): Promise[](#rateLimit.rateLimit-1) * Overrides the rate limit to be active for the next jobs. #### Parameters * expireTimeMs: number expire time in ms of this rate limit. #### Returns Promise ### remove[](#remove) * remove(jobId, opts?): Promise[](#remove.remove-1) * Removes the given job from the queue as well as all its dependencies. #### Parameters * jobId: string The id of the job to remove * opts: {     removeChildren: boolean; } = {} Options to remove a job * ##### removeChildren: boolean #### Returns Promise 1 if it managed to remove the job or 0 if the job or any of its dependencies were locked. ### removeDebounceKey[](#removeDebounceKey) * removeDebounceKey(id): Promise[](#removeDebounceKey.removeDebounceKey-1) * Removes a debounce key. #### Parameters * id: string identifier #### Returns Promise #### Deprecated use removeDeduplicationKey ### removeDeduplicationKey[](#removeDeduplicationKey) * removeDeduplicationKey(id): Promise[](#removeDeduplicationKey.removeDeduplicationKey-1) * Removes a deduplication key. #### Parameters * id: string identifier #### Returns Promise ### removeDeprecatedPriorityKey[](#removeDeprecatedPriorityKey) * removeDeprecatedPriorityKey(): Promise[](#removeDeprecatedPriorityKey.removeDeprecatedPriorityKey-1) * Delete old priority helper key. #### Returns Promise ### removeGlobalConcurrency[](#removeGlobalConcurrency) * removeGlobalConcurrency(): Promise[](#removeGlobalConcurrency.removeGlobalConcurrency-1) * Remove global concurrency value. #### Returns Promise ### removeJobScheduler[](#removeJobScheduler) * removeJobScheduler(jobSchedulerId): Promise[](#removeJobScheduler.removeJobScheduler-1) * Removes a job scheduler. #### Parameters * jobSchedulerId: string #### Returns Promise ### removeRateLimitKey[](#removeRateLimitKey) * removeRateLimitKey(): Promise[](#removeRateLimitKey.removeRateLimitKey-1) * Removes rate limit key. #### Returns Promise ### removeRepeatable[](#removeRepeatable) * removeRepeatable(name, repeatOpts, jobId?): Promise[](#removeRepeatable.removeRepeatable-1) * Removes a repeatable job. Note: you need to use the exact same repeatOpts when deleting a repeatable job than when adding it. #### Parameters * name: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) Job name * repeatOpts: [RepeatOptions](../interfaces/v5.RepeatOptions.html) * `Optional` jobId: string #### Returns Promise #### Deprecated This method is deprecated and will be removed in v6. Use removeJobScheduler instead. #### See removeRepeatableByKey ### removeRepeatableByKey[](#removeRepeatableByKey) * removeRepeatableByKey(key): Promise[](#removeRepeatableByKey.removeRepeatableByKey-1) * Removes a repeatable job by its key. Note that the key is the one used to store the repeatable job metadata and not one of the job iterations themselves. You can use "getRepeatableJobs" in order to get the keys. #### Parameters * key: string #### Returns Promise #### See getRepeatableJobs #### Deprecated This method is deprecated and will be removed in v6. Use removeJobScheduler instead. ### resume[](#resume) * resume(): Promise[](#resume.resume-1) * Resumes the processing of this queue globally. The method reverses the pause operation by resuming the processing of the queue. #### Returns Promise ### retryJobs[](#retryJobs) * retryJobs(opts?): Promise[](#retryJobs.retryJobs-1) * Retry all the failed or completed jobs. #### Parameters * opts: {     count?: number;     state?: [FinishedStatus](../types/v5.FinishedStatus.html) ;     timestamp?: number; } = {} * ##### `Optional` count?: number * ##### `Optional` state?: [FinishedStatus](../types/v5.FinishedStatus.html) * ##### `Optional` timestamp?: number #### Returns Promise ### setGlobalConcurrency[](#setGlobalConcurrency) * setGlobalConcurrency(concurrency): Promise[](#setGlobalConcurrency.setGlobalConcurrency-1) * Enable and set global concurrency value. #### Parameters * concurrency: number Maximum number of simultaneous jobs that the workers can handle. For instance, setting this value to 1 ensures that no more than one job is processed at any given time. If this limit is not defined, there will be no restriction on the number of concurrent jobs. #### Returns Promise ### trace[](#trace) * trace<[T](v5.Queue.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### trimEvents[](#trimEvents) * trimEvents(maxLength): Promise[](#trimEvents.trimEvents-1) * Trim the event stream to an approximately maxLength. #### Parameters * maxLength: number #### Returns Promise ### updateJobProgress[](#updateJobProgress) * updateJobProgress(jobId, progress): Promise[](#updateJobProgress.updateJobProgress-1) * Updates the given job's progress. #### Parameters * jobId: string The id of the job to update * progress: number | object Number or object to be saved as progress. #### Returns Promise ### upsertJobScheduler[](#upsertJobScheduler) * upsertJobScheduler(jobSchedulerId, repeatOpts, jobTemplate?): Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\>[](#upsertJobScheduler.upsertJobScheduler-1) * Upserts a scheduler. A scheduler is a job factory that creates jobs at a given interval. Upserting a scheduler will create a new job scheduler or update an existing one. It will also create the first job based on the repeat options and delayed accordingly. #### Parameters * jobSchedulerId: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) * repeatOpts: Omit<[RepeatOptions](../interfaces/v5.RepeatOptions.html) , "key"\> Repeat options * `Optional` jobTemplate: {     data?: [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) ;     name?: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) ;     opts?: [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) ; } Job template. If provided it will be used for all the jobs created by the scheduler. * ##### `Optional` data?: [DataType](v5.Queue.html#constructor.new_Queue.DataType-1) * ##### `Optional` name?: [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) * ##### `Optional` opts?: [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) #### Returns Promise<[Job](v5.Job.html) <[DataType](v5.Queue.html#constructor.new_Queue.DataType-1) , [ResultType](v5.Queue.html#constructor.new_Queue.ResultType-1) , [NameType](v5.Queue.html#constructor.new_Queue.NameType-1) \>\> The next job to be scheduled (would normally be in delayed state). ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [jobsOpts](#jobsOpts) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [token](#token) * [client](#client) * [defaultJobOptions](#defaultJobOptions) * [jobScheduler](#jobScheduler) * [metaValues](#metaValues) * [redisVersion](#redisVersion) * [repeat](#repeat) * [add](#add) * [addBulk](#addBulk) * [addJobLog](#addJobLog) * [clean](#clean) * [close](#close) * [count](#count) * [disconnect](#disconnect) * [drain](#drain) * [emit](#emit) * [exportPrometheusMetrics](#exportPrometheusMetrics) * [getActive](#getActive) * [getActiveCount](#getActiveCount) * [getCompleted](#getCompleted) * [getCompletedCount](#getCompletedCount) * [getCountsPerPriority](#getCountsPerPriority) * [getDebounceJobId](#getDebounceJobId) * [getDeduplicationJobId](#getDeduplicationJobId) * [getDelayed](#getDelayed) * [getDelayedCount](#getDelayedCount) * [getDependencies](#getDependencies) * [getFailed](#getFailed) * [getFailedCount](#getFailedCount) * [getGlobalConcurrency](#getGlobalConcurrency) * [getJob](#getJob) * [getJobCountByTypes](#getJobCountByTypes) * [getJobCounts](#getJobCounts) * [getJobLogs](#getJobLogs) * [getJobScheduler](#getJobScheduler) * [getJobSchedulers](#getJobSchedulers) * [getJobSchedulersCount](#getJobSchedulersCount) * [getJobState](#getJobState) * [getJobs](#getJobs) * [getMetrics](#getMetrics) * [getPrioritized](#getPrioritized) * [getPrioritizedCount](#getPrioritizedCount) * [getQueueEvents](#getQueueEvents) * [getRanges](#getRanges) * [getRateLimitTtl](#getRateLimitTtl) * [getRepeatableJobs](#getRepeatableJobs) * [getVersion](#getVersion) * [getWaiting](#getWaiting) * [getWaitingChildren](#getWaitingChildren) * [getWaitingChildrenCount](#getWaitingChildrenCount) * [getWaitingCount](#getWaitingCount) * [getWorkers](#getWorkers) * [getWorkersCount](#getWorkersCount) * [isMaxed](#isMaxed) * [isPaused](#isPaused) * [obliterate](#obliterate) * [off](#off) * [on](#on) * [once](#once) * [pause](#pause) * [promoteJobs](#promoteJobs) * [rateLimit](#rateLimit) * [remove](#remove) * [removeDebounceKey](#removeDebounceKey) * [removeDeduplicationKey](#removeDeduplicationKey) * [removeDeprecatedPriorityKey](#removeDeprecatedPriorityKey) * [removeGlobalConcurrency](#removeGlobalConcurrency) * [removeJobScheduler](#removeJobScheduler) * [removeRateLimitKey](#removeRateLimitKey) * [removeRepeatable](#removeRepeatable) * [removeRepeatableByKey](#removeRepeatableByKey) * [resume](#resume) * [retryJobs](#retryJobs) * [setGlobalConcurrency](#setGlobalConcurrency) * [trace](#trace) * [trimEvents](#trimEvents) * [updateJobProgress](#updateJobProgress) * [upsertJobScheduler](#upsertJobScheduler) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # QueueGetters | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueGetters](v5.QueueGetters.html) Class QueueGetters =========================== QueueGetters #### Description Provides different getters for different aspects of a queue. #### Type Parameters * JobBase extends [Job](v5.Job.html) = [Job](v5.Job.html) #### Hierarchy ([view full](../hierarchy.html#v5.QueueGetters) ) * [QueueBase](v5.QueueBase.html) * QueueGetters * [Queue](v5.Queue.html) ##### Index ### Constructors [constructor](v5.QueueGetters.html#constructor) ### Properties [closing](v5.QueueGetters.html#closing) [keys](v5.QueueGetters.html#keys) [name](v5.QueueGetters.html#name) [opts](v5.QueueGetters.html#opts) [qualifiedName](v5.QueueGetters.html#qualifiedName) [toKey](v5.QueueGetters.html#toKey) ### Accessors [client](v5.QueueGetters.html#client) [redisVersion](v5.QueueGetters.html#redisVersion) ### Methods [close](v5.QueueGetters.html#close) [count](v5.QueueGetters.html#count) [disconnect](v5.QueueGetters.html#disconnect) [emit](v5.QueueGetters.html#emit) [exportPrometheusMetrics](v5.QueueGetters.html#exportPrometheusMetrics) [getActive](v5.QueueGetters.html#getActive) [getActiveCount](v5.QueueGetters.html#getActiveCount) [getCompleted](v5.QueueGetters.html#getCompleted) [getCompletedCount](v5.QueueGetters.html#getCompletedCount) [getCountsPerPriority](v5.QueueGetters.html#getCountsPerPriority) [getDebounceJobId](v5.QueueGetters.html#getDebounceJobId) [getDeduplicationJobId](v5.QueueGetters.html#getDeduplicationJobId) [getDelayed](v5.QueueGetters.html#getDelayed) [getDelayedCount](v5.QueueGetters.html#getDelayedCount) [getDependencies](v5.QueueGetters.html#getDependencies) [getFailed](v5.QueueGetters.html#getFailed) [getFailedCount](v5.QueueGetters.html#getFailedCount) [getJob](v5.QueueGetters.html#getJob) [getJobCountByTypes](v5.QueueGetters.html#getJobCountByTypes) [getJobCounts](v5.QueueGetters.html#getJobCounts) [getJobLogs](v5.QueueGetters.html#getJobLogs) [getJobState](v5.QueueGetters.html#getJobState) [getJobs](v5.QueueGetters.html#getJobs) [getMetrics](v5.QueueGetters.html#getMetrics) [getPrioritized](v5.QueueGetters.html#getPrioritized) [getPrioritizedCount](v5.QueueGetters.html#getPrioritizedCount) [getQueueEvents](v5.QueueGetters.html#getQueueEvents) [getRanges](v5.QueueGetters.html#getRanges) [getRateLimitTtl](v5.QueueGetters.html#getRateLimitTtl) [getWaiting](v5.QueueGetters.html#getWaiting) [getWaitingChildren](v5.QueueGetters.html#getWaitingChildren) [getWaitingChildrenCount](v5.QueueGetters.html#getWaitingChildrenCount) [getWaitingCount](v5.QueueGetters.html#getWaitingCount) [getWorkers](v5.QueueGetters.html#getWorkers) [getWorkersCount](v5.QueueGetters.html#getWorkersCount) [trace](v5.QueueGetters.html#trace) [waitUntilReady](v5.QueueGetters.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new QueueGetters<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \>(name, opts?, Connection?, hasBlockingConnection?): [QueueGetters](v5.QueueGetters.html) <[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \>[](#constructor.new_QueueGetters) * #### Type Parameters * JobBase extends [Job](v5.Job.html) = [Job](v5.Job.html) #### Parameters * name: string The name of the queue. * opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. * Connection: typeof [RedisConnection](v5.RedisConnection.html) = RedisConnection An optional "Connection" class used to instantiate a Connection. This is useful for testing with mockups and/or extending the Connection class and passing an alternate implementation. * hasBlockingConnection: boolean = false #### Returns [QueueGetters](v5.QueueGetters.html) <[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \> Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### count[](#count) * count(): Promise[](#count.count-1) * Returns the number of jobs waiting to be processed. This includes jobs that are "waiting" or "delayed" or "prioritized" or "waiting-children". #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Parameters * event: string | symbol The emitted event. * `Rest` ...args: any\[\] #### Returns boolean ### exportPrometheusMetrics[](#exportPrometheusMetrics) * exportPrometheusMetrics(): Promise[](#exportPrometheusMetrics.exportPrometheusMetrics-1) * Export the metrics for the queue in the Prometheus format. Automatically exports all the counts returned by getJobCounts(). #### Returns Promise * Returns a string with the metrics in the Prometheus format. #### Sa [https://prometheus.io/docs/instrumenting/exposition\_formats/](https://prometheus.io/docs/instrumenting/exposition_formats/) ### getActive[](#getActive) * getActive(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getActive.getActive-1) * Returns the jobs that are in the "active" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getActiveCount[](#getActiveCount) * getActiveCount(): Promise[](#getActiveCount.getActiveCount-1) * Returns the number of jobs in active status. #### Returns Promise ### getCompleted[](#getCompleted) * getCompleted(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getCompleted.getCompleted-1) * Returns the jobs that are in the "completed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getCompletedCount[](#getCompletedCount) * getCompletedCount(): Promise[](#getCompletedCount.getCompletedCount-1) * Returns the number of jobs in completed status. #### Returns Promise ### getCountsPerPriority[](#getCountsPerPriority) * getCountsPerPriority(priorities): Promise<{     \[index: string\]: number; }\>[](#getCountsPerPriority.getCountsPerPriority-1) * Returns the number of jobs per priority. #### Parameters * priorities: number\[\] #### Returns Promise<{     \[index: string\]: number; }\> ### getDebounceJobId[](#getDebounceJobId) * getDebounceJobId(id): Promise[](#getDebounceJobId.getDebounceJobId-1) * Get jobId that starts debounced state. #### Parameters * id: string debounce identifier #### Returns Promise #### Deprecated use getDeduplicationJobId method ### getDeduplicationJobId[](#getDeduplicationJobId) * getDeduplicationJobId(id): Promise[](#getDeduplicationJobId.getDeduplicationJobId-1) * Get jobId from deduplicated state. #### Parameters * id: string deduplication identifier #### Returns Promise ### getDelayed[](#getDelayed) * getDelayed(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getDelayed.getDelayed-1) * Returns the jobs that are in the "delayed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getDelayedCount[](#getDelayedCount) * getDelayedCount(): Promise[](#getDelayedCount.getDelayedCount-1) * Returns the number of jobs in delayed status. #### Returns Promise ### getDependencies[](#getDependencies) * getDependencies(parentId, type, start, end): Promise<{     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\>[](#getDependencies.getDependencies-1) * Returns the qualified job ids and the raw job data (if available) of the children jobs of the given parent job. It is possible to get either the already processed children, in this case an array of qualified job ids and their result values will be returned, or the pending children, in this case an array of qualified job ids will be returned. A qualified job id is a string representing the job id in a given queue, for example: "bull:myqueue:jobid". #### Parameters * parentId: string The id of the parent job * type: "pending" | "processed" "processed" | "pending" * start: number * end: number #### Returns Promise<{     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\> ### getFailed[](#getFailed) * getFailed(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getFailed.getFailed-1) * Returns the jobs that are in the "failed" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getFailedCount[](#getFailedCount) * getFailedCount(): Promise[](#getFailedCount.getFailedCount-1) * Returns the number of jobs in failed status. #### Returns Promise ### getJob[](#getJob) * getJob(jobId): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \>[](#getJob.getJob-1) * #### Parameters * jobId: string #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \> ### getJobCountByTypes[](#getJobCountByTypes) * getJobCountByTypes(...types): Promise[](#getJobCountByTypes.getJobCountByTypes-1) * Job counts by type Queue#getJobCountByTypes('completed') => completed count Queue#getJobCountByTypes('completed,failed') => completed + failed count Queue#getJobCountByTypes('completed', 'failed') => completed + failed count Queue#getJobCountByTypes('completed', 'waiting', 'failed') => completed + waiting + failed count #### Parameters * `Rest` ...types: [JobType](../types/v5.JobType.html) \[\] #### Returns Promise ### getJobCounts[](#getJobCounts) * getJobCounts(...types): Promise<{     \[index: string\]: number; }\>[](#getJobCounts.getJobCounts-1) * Returns the job counts for each type specified or every list/set in the queue by default. #### Parameters * `Rest` ...types: [JobType](../types/v5.JobType.html) \[\] #### Returns Promise<{     \[index: string\]: number; }\> An object, key (type) and value (count) ### getJobLogs[](#getJobLogs) * getJobLogs(jobId, start?, end?, asc?): Promise<{     count: number;     logs: string\[\]; }\>[](#getJobLogs.getJobLogs-1) * Returns the logs for a given Job. #### Parameters * jobId: string the id of the job to get the logs for. * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. * asc: boolean = true if true, the jobs will be returned in ascending order. #### Returns Promise<{     count: number;     logs: string\[\]; }\> ### getJobState[](#getJobState) * getJobState(jobId): Promise<"unknown" | [JobState](../types/v5.JobState.html) \>[](#getJobState.getJobState-1) * Get current job state. #### Parameters * jobId: string job identifier. #### Returns Promise<"unknown" | [JobState](../types/v5.JobState.html) \> Returns one of these values: 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'. ### getJobs[](#getJobs) * getJobs(types?, start?, end?, asc?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getJobs.getJobs-1) * Returns the jobs that are on the given statuses (note that JobType is synonym for job status) #### Parameters * `Optional` types: [JobType](../types/v5.JobType.html) | [JobType](../types/v5.JobType.html) \[\] the statuses of the jobs to return. * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. * asc: boolean = false if true, the jobs will be returned in ascending order. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getMetrics[](#getMetrics) * getMetrics(type, start?, end?): Promise<[Metrics](../interfaces/v5.Metrics.html) \>[](#getMetrics.getMetrics-1) * Get queue metrics related to the queue. This method returns the gathered metrics for the queue. The metrics are represented as an array of job counts per unit of time (1 minute). #### Parameters * type: "failed" | "completed" * start: number = 0 Start point of the metrics, where 0 is the newest point to be returned. * end: number = -1 End point of the metrics, where -1 is the oldest point to be returned. #### Returns Promise<[Metrics](../interfaces/v5.Metrics.html) \> * Returns an object with queue metrics. ### getPrioritized[](#getPrioritized) * getPrioritized(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getPrioritized.getPrioritized-1) * Returns the jobs that are in the "prioritized" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getPrioritizedCount[](#getPrioritizedCount) * getPrioritizedCount(): Promise[](#getPrioritizedCount.getPrioritizedCount-1) * Returns the number of jobs in prioritized status. #### Returns Promise ### getQueueEvents[](#getQueueEvents) * getQueueEvents(): Promise<{     \[index: string\]: string; }\[\]\>[](#getQueueEvents.getQueueEvents-1) * Get queue events list related to the queue. Note: GCP does not support SETNAME, so this call will not work #### Returns Promise<{     \[index: string\]: string; }\[\]\> * Returns an array with queue events info. #### Deprecated do not use this method, it will be removed in the future. ### getRanges[](#getRanges) * getRanges(types, start?, end?, asc?): Promise[](#getRanges.getRanges-1) * #### Parameters * types: [JobType](../types/v5.JobType.html) \[\] * start: number = 0 * end: number = 1 * asc: boolean = false #### Returns Promise ### getRateLimitTtl[](#getRateLimitTtl) * getRateLimitTtl(maxJobs?): Promise[](#getRateLimitTtl.getRateLimitTtl-1) * Returns the time to live for a rate limited key in milliseconds. #### Parameters * `Optional` maxJobs: number max jobs to be considered in rate limit state. If not passed it will return the remaining ttl without considering if max jobs is excedeed. #### Returns Promise \-2 if the key does not exist. -1 if the key exists but has no associated expire. #### See [https://redis.io/commands/pttl/](https://redis.io/commands/pttl/) ### getWaiting[](#getWaiting) * getWaiting(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getWaiting.getWaiting-1) * Returns the jobs that are in the "waiting" status. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getWaitingChildren[](#getWaitingChildren) * getWaitingChildren(start?, end?): Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\>[](#getWaitingChildren.getWaitingChildren-1) * Returns the jobs that are in the "waiting-children" status. I.E. parent jobs that have at least one child that has not completed yet. #### Parameters * start: number = 0 zero based index from where to start returning jobs. * end: number = -1 zero based index where to stop returning jobs. #### Returns Promise<[JobBase](v5.QueueGetters.html#constructor.new_QueueGetters.JobBase-1) \[\]\> ### getWaitingChildrenCount[](#getWaitingChildrenCount) * getWaitingChildrenCount(): Promise[](#getWaitingChildrenCount.getWaitingChildrenCount-1) * Returns the number of jobs in waiting-children status. #### Returns Promise ### getWaitingCount[](#getWaitingCount) * getWaitingCount(): Promise[](#getWaitingCount.getWaitingCount-1) * Returns the number of jobs in waiting or paused statuses. #### Returns Promise ### getWorkers[](#getWorkers) * getWorkers(): Promise<{     \[index: string\]: string; }\[\]\>[](#getWorkers.getWorkers-1) * Get the worker list related to the queue. i.e. all the known workers that are available to process jobs for this queue. Note: GCP does not support SETNAME, so this call will not work #### Returns Promise<{     \[index: string\]: string; }\[\]\> * Returns an array with workers info. ### getWorkersCount[](#getWorkersCount) * getWorkersCount(): Promise[](#getWorkersCount.getWorkersCount-1) * Returns the current count of workers for the queue. getWorkersCount(): Promise #### Returns Promise ### trace[](#trace) * trace<[T](v5.QueueGetters.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [count](#count) * [disconnect](#disconnect) * [emit](#emit) * [exportPrometheusMetrics](#exportPrometheusMetrics) * [getActive](#getActive) * [getActiveCount](#getActiveCount) * [getCompleted](#getCompleted) * [getCompletedCount](#getCompletedCount) * [getCountsPerPriority](#getCountsPerPriority) * [getDebounceJobId](#getDebounceJobId) * [getDeduplicationJobId](#getDeduplicationJobId) * [getDelayed](#getDelayed) * [getDelayedCount](#getDelayedCount) * [getDependencies](#getDependencies) * [getFailed](#getFailed) * [getFailedCount](#getFailedCount) * [getJob](#getJob) * [getJobCountByTypes](#getJobCountByTypes) * [getJobCounts](#getJobCounts) * [getJobLogs](#getJobLogs) * [getJobState](#getJobState) * [getJobs](#getJobs) * [getMetrics](#getMetrics) * [getPrioritized](#getPrioritized) * [getPrioritizedCount](#getPrioritizedCount) * [getQueueEvents](#getQueueEvents) * [getRanges](#getRanges) * [getRateLimitTtl](#getRateLimitTtl) * [getWaiting](#getWaiting) * [getWaitingChildren](#getWaitingChildren) * [getWaitingChildrenCount](#getWaitingChildrenCount) * [getWaitingCount](#getWaitingCount) * [getWorkers](#getWorkers) * [getWorkersCount](#getWorkersCount) * [trace](#trace) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # QueueKeys | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueKeys](v5.QueueKeys.html) Class QueueKeys =============== ##### Index ### Constructors [constructor](v5.QueueKeys.html#constructor) ### Properties [prefix](v5.QueueKeys.html#prefix) ### Methods [getKeys](v5.QueueKeys.html#getKeys) [getQueueQualifiedName](v5.QueueKeys.html#getQueueQualifiedName) [toKey](v5.QueueKeys.html#toKey) Constructors ------------ ### constructor[](#constructor) * new QueueKeys(prefix?): [QueueKeys](v5.QueueKeys.html) [](#constructor.new_QueueKeys) * #### Parameters * prefix: string = 'bull' #### Returns [QueueKeys](v5.QueueKeys.html) Properties ---------- ### `Readonly` prefix[](#prefix) prefix: string = 'bull' Methods ------- ### getKeys[](#getKeys) * getKeys(name): [KeysMap](../types/v5.KeysMap.html) [](#getKeys.getKeys-1) * #### Parameters * name: string #### Returns [KeysMap](../types/v5.KeysMap.html) ### getQueueQualifiedName[](#getQueueQualifiedName) * getQueueQualifiedName(name): string[](#getQueueQualifiedName.getQueueQualifiedName-1) * #### Parameters * name: string #### Returns string ### toKey[](#toKey) * toKey(name, type): string[](#toKey.toKey-1) * #### Parameters * name: string * type: string #### Returns string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [prefix](#prefix) * [getKeys](#getKeys) * [getQueueQualifiedName](#getQueueQualifiedName) * [toKey](#toKey) Generated using [TypeDoc](https://typedoc.org/) --- # RedisConnection | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RedisConnection](v5.RedisConnection.html) Class RedisConnection ===================== #### Hierarchy * EventEmitter * RedisConnection ##### Index ### Constructors [constructor](v5.RedisConnection.html#constructor) ### Properties [capabilities](v5.RedisConnection.html#capabilities) [closing](v5.RedisConnection.html#closing) [status](v5.RedisConnection.html#status) [minimumVersion](v5.RedisConnection.html#minimumVersion) [recommendedMinimumVersion](v5.RedisConnection.html#recommendedMinimumVersion) ### Accessors [client](v5.RedisConnection.html#client) [redisVersion](v5.RedisConnection.html#redisVersion) ### Methods [close](v5.RedisConnection.html#close) [disconnect](v5.RedisConnection.html#disconnect) [reconnect](v5.RedisConnection.html#reconnect) [waitUntilReady](v5.RedisConnection.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new RedisConnection(opts, extraOptions?): [RedisConnection](v5.RedisConnection.html) [](#constructor.new_RedisConnection) * #### Parameters * opts: [ConnectionOptions](../types/v5.ConnectionOptions.html) * `Optional` extraOptions: {     blocking?: boolean;     shared?: boolean;     skipVersionCheck?: boolean;     skipWaitingForReady?: boolean; } * ##### `Optional` blocking?: boolean * ##### `Optional` shared?: boolean * ##### `Optional` skipVersionCheck?: boolean * ##### `Optional` skipWaitingForReady?: boolean #### Returns [RedisConnection](v5.RedisConnection.html) Properties ---------- ### capabilities[](#capabilities) capabilities: RedisCapabilities = ... ### closing[](#closing) closing: boolean ### status[](#status) status: "closed" | "closing" | "ready" | "initializing" = 'initializing' ### `Static` minimumVersion[](#minimumVersion) minimumVersion: string = '5.0.0' ### `Static` recommendedMinimumVersion[](#recommendedMinimumVersion) recommendedMinimumVersion: string = '6.2.0' Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * #### Returns string Methods ------- ### close[](#close) * close(force?): Promise[](#close.close-1) * #### Parameters * force: boolean = false #### Returns Promise ### disconnect[](#disconnect) * disconnect(wait?): Promise[](#disconnect.disconnect-1) * #### Parameters * wait: boolean = true #### Returns Promise ### reconnect[](#reconnect) * reconnect(): Promise[](#reconnect.reconnect-1) * #### Returns Promise ### `Static` waitUntilReady[](#waitUntilReady) * waitUntilReady(client): Promise[](#waitUntilReady.waitUntilReady-1) * Waits for a redis client to be ready. #### Parameters * client: [RedisClient](../types/v5.RedisClient.html) #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [capabilities](#capabilities) * [closing](#closing) * [status](#status) * [minimumVersion](#minimumVersion) * [recommendedMinimumVersion](#recommendedMinimumVersion) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [reconnect](#reconnect) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # QueueBase | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueBase](v5.QueueBase.html) Class QueueBase =============== QueueBase #### Description Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes. #### Hierarchy ([view full](../hierarchy.html#v5.QueueBase) ) * EventEmitter * QueueBase * [JobScheduler](v5.JobScheduler.html) * [QueueEvents](v5.QueueEvents.html) * [QueueEventsProducer](v5.QueueEventsProducer.html) * [QueueGetters](v5.QueueGetters.html) * [Repeat](v5.Repeat.html) * [Worker](v5.Worker.html) #### Implements * [MinimalQueue](../types/v5.MinimalQueue.html) ##### Index ### Constructors [constructor](v5.QueueBase.html#constructor) ### Properties [closing](v5.QueueBase.html#closing) [keys](v5.QueueBase.html#keys) [name](v5.QueueBase.html#name) [opts](v5.QueueBase.html#opts) [qualifiedName](v5.QueueBase.html#qualifiedName) [toKey](v5.QueueBase.html#toKey) ### Accessors [client](v5.QueueBase.html#client) [redisVersion](v5.QueueBase.html#redisVersion) ### Methods [close](v5.QueueBase.html#close) [disconnect](v5.QueueBase.html#disconnect) [emit](v5.QueueBase.html#emit) [trace](v5.QueueBase.html#trace) [waitUntilReady](v5.QueueBase.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new QueueBase(name, opts?, Connection?, hasBlockingConnection?): [QueueBase](v5.QueueBase.html) [](#constructor.new_QueueBase) * #### Parameters * name: string The name of the queue. * opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. * Connection: typeof [RedisConnection](v5.RedisConnection.html) = RedisConnection An optional "Connection" class used to instantiate a Connection. This is useful for testing with mockups and/or extending the Connection class and passing an alternate implementation. * hasBlockingConnection: boolean = false #### Returns [QueueBase](v5.QueueBase.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Parameters * event: string | symbol The emitted event. * `Rest` ...args: any\[\] #### Returns boolean ### trace[](#trace) * trace<[T](v5.QueueBase.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [trace](#trace) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # QueueEvents | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueEvents](v5.QueueEvents.html) Class QueueEvents ================= The QueueEvents class is used for listening to the global events emitted by a given queue. This class requires a dedicated redis connection. #### Hierarchy ([view full](../hierarchy.html#v5.QueueEvents) ) * [QueueBase](v5.QueueBase.html) * QueueEvents ##### Index ### Constructors [constructor](v5.QueueEvents.html#constructor) ### Properties [closing](v5.QueueEvents.html#closing) [keys](v5.QueueEvents.html#keys) [name](v5.QueueEvents.html#name) [opts](v5.QueueEvents.html#opts) [qualifiedName](v5.QueueEvents.html#qualifiedName) [toKey](v5.QueueEvents.html#toKey) ### Accessors [client](v5.QueueEvents.html#client) [redisVersion](v5.QueueEvents.html#redisVersion) ### Methods [close](v5.QueueEvents.html#close) [disconnect](v5.QueueEvents.html#disconnect) [emit](v5.QueueEvents.html#emit) [off](v5.QueueEvents.html#off) [on](v5.QueueEvents.html#on) [once](v5.QueueEvents.html#once) [run](v5.QueueEvents.html#run) [trace](v5.QueueEvents.html#trace) [waitUntilReady](v5.QueueEvents.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new QueueEvents(name, \_\_namedParameters?, Connection?): [QueueEvents](v5.QueueEvents.html) [](#constructor.new_QueueEvents) * #### Parameters * name: string * \_\_namedParameters: [QueueEventsOptions](../interfaces/v5.QueueEventsOptions.html) = ... * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [QueueEvents](v5.QueueEvents.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Stops consuming events and close the underlying Redis connection if necessary. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit<[QEL](v5.QueueEvents.html#emit.emit-1.QEL) , [U](v5.QueueEvents.html#emit.emit-1.U) \>(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Type Parameters * QEL extends [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) = [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) * U extends string = Extract #### Parameters * event: [U](v5.QueueEvents.html#emit.emit-1.U) The emitted event. * `Rest` ...args: CustomParameters<[QEL](v5.QueueEvents.html#emit.emit-1.QEL) \[[U](v5.QueueEvents.html#emit.emit-1.U)\ \]\> #### Returns boolean ### off[](#off) * off<[QEL](v5.QueueEvents.html#off.off-1.QEL-1) , [U](v5.QueueEvents.html#off.off-1.U-1) \>(eventName, listener): this[](#off.off-1) * #### Type Parameters * QEL extends [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) = [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) * U extends string = Extract #### Parameters * eventName: [U](v5.QueueEvents.html#off.off-1.U-1) * listener: [QEL](v5.QueueEvents.html#off.off-1.QEL-1) \[[U](v5.QueueEvents.html#off.off-1.U-1)\ \] #### Returns this ### on[](#on) * on<[QEL](v5.QueueEvents.html#on.on-1.QEL-2) , [U](v5.QueueEvents.html#on.on-1.U-2) \>(event, listener): this[](#on.on-1) * #### Type Parameters * QEL extends [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) = [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) * U extends string = Extract #### Parameters * event: [U](v5.QueueEvents.html#on.on-1.U-2) * listener: [QEL](v5.QueueEvents.html#on.on-1.QEL-2) \[[U](v5.QueueEvents.html#on.on-1.U-2)\ \] #### Returns this ### once[](#once) * once<[QEL](v5.QueueEvents.html#once.once-1.QEL-3) , [U](v5.QueueEvents.html#once.once-1.U-3) \>(event, listener): this[](#once.once-1) * #### Type Parameters * QEL extends [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) = [QueueEventsListener](../interfaces/v5.QueueEventsListener.html) * U extends string = Extract #### Parameters * event: [U](v5.QueueEvents.html#once.once-1.U-3) * listener: [QEL](v5.QueueEvents.html#once.once-1.QEL-3) \[[U](v5.QueueEvents.html#once.once-1.U-3)\ \] #### Returns this ### run[](#run) * run(): Promise[](#run.run-1) * Manually starts running the event consumming loop. This shall be used if you do not use the default "autorun" option on the constructor. #### Returns Promise ### trace[](#trace) * trace<[T](v5.QueueEvents.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [off](#off) * [on](#on) * [once](#once) * [run](#run) * [trace](#trace) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # RateLimitError | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RateLimitError](v5.RateLimitError.html) Class RateLimitError ==================== RateLimitError Error to be thrown when queue reaches a rate limit. #### Hierarchy * Error * RateLimitError ##### Index ### Constructors [constructor](v5.RateLimitError.html#constructor) Constructors ------------ ### constructor[](#constructor) * new RateLimitError(message?): [RateLimitError](v5.RateLimitError.html) [](#constructor.new_RateLimitError) * #### Parameters * message: string = RATE\_LIMIT\_ERROR #### Returns [RateLimitError](v5.RateLimitError.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) Generated using [TypeDoc](https://typedoc.org/) --- # UnrecoverableError | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [UnrecoverableError](v5.UnrecoverableError.html) Class UnrecoverableError ======================== UnrecoverableError Error to move a job to failed even if the attemptsMade are lower than the expected limit. #### Hierarchy * Error * UnrecoverableError ##### Index ### Constructors [constructor](v5.UnrecoverableError.html#constructor) Constructors ------------ ### constructor[](#constructor) * new UnrecoverableError(message?): [UnrecoverableError](v5.UnrecoverableError.html) [](#constructor.new_UnrecoverableError) * #### Parameters * message: string = UNRECOVERABLE\_ERROR #### Returns [UnrecoverableError](v5.UnrecoverableError.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) Generated using [TypeDoc](https://typedoc.org/) --- # Repeat | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Repeat](v5.Repeat.html) Class Repeat ============ QueueBase #### Description Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes. #### Hierarchy ([view full](../hierarchy.html#v5.Repeat) ) * [QueueBase](v5.QueueBase.html) * Repeat ##### Index ### Constructors [constructor](v5.Repeat.html#constructor) ### Properties [closing](v5.Repeat.html#closing) [keys](v5.Repeat.html#keys) [name](v5.Repeat.html#name) [opts](v5.Repeat.html#opts) [qualifiedName](v5.Repeat.html#qualifiedName) [toKey](v5.Repeat.html#toKey) ### Accessors [client](v5.Repeat.html#client) [redisVersion](v5.Repeat.html#redisVersion) ### Methods [close](v5.Repeat.html#close) [disconnect](v5.Repeat.html#disconnect) [emit](v5.Repeat.html#emit) [getRepeatJobKey](v5.Repeat.html#getRepeatJobKey) [getRepeatableCount](v5.Repeat.html#getRepeatableCount) [getRepeatableJobs](v5.Repeat.html#getRepeatableJobs) [removeRepeatable](v5.Repeat.html#removeRepeatable) [removeRepeatableByKey](v5.Repeat.html#removeRepeatableByKey) [trace](v5.Repeat.html#trace) [updateRepeatableJob](v5.Repeat.html#updateRepeatableJob) [waitUntilReady](v5.Repeat.html#waitUntilReady) Constructors ------------ ### constructor[](#constructor) * new Repeat(name, opts, Connection?): [Repeat](v5.Repeat.html) [](#constructor.new_Repeat) * #### Parameters * name: string * opts: [RepeatBaseOptions](../interfaces/v5.RepeatBaseOptions.html) * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [Repeat](v5.Repeat.html) Properties ---------- ### closing[](#closing) closing: Promise ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### opts[](#opts) opts: [QueueBaseOptions](../interfaces/v5.QueueBaseOptions.html) = ... Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string Methods ------- ### close[](#close) * close(): Promise[](#close.close-1) * Closes the connection and returns a promise that resolves when the connection is closed. #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Parameters * event: string | symbol The emitted event. * `Rest` ...args: any\[\] #### Returns boolean ### getRepeatJobKey[](#getRepeatJobKey) * getRepeatJobKey<[T](v5.Repeat.html#getRepeatJobKey.getRepeatJobKey-1.T) , [N](v5.Repeat.html#getRepeatJobKey.getRepeatJobKey-1.N) \>(name, nextMillis, repeatJobKey, data): string[](#getRepeatJobKey.getRepeatJobKey-1) * #### Type Parameters * T = any * N extends string = string #### Parameters * name: [N](v5.Repeat.html#getRepeatJobKey.getRepeatJobKey-1.N) * nextMillis: number * repeatJobKey: string * data: [T](v5.Repeat.html#getRepeatJobKey.getRepeatJobKey-1.T) #### Returns string ### getRepeatableCount[](#getRepeatableCount) * getRepeatableCount(): Promise[](#getRepeatableCount.getRepeatableCount-1) * #### Returns Promise ### getRepeatableJobs[](#getRepeatableJobs) * getRepeatableJobs(start?, end?, asc?): Promise<[RepeatableJob](../types/v5.RepeatableJob.html) \[\]\>[](#getRepeatableJobs.getRepeatableJobs-1) * #### Parameters * start: number = 0 * end: number = -1 * asc: boolean = false #### Returns Promise<[RepeatableJob](../types/v5.RepeatableJob.html) \[\]\> ### removeRepeatable[](#removeRepeatable) * removeRepeatable(name, repeat, jobId?): Promise[](#removeRepeatable.removeRepeatable-1) * #### Parameters * name: string * repeat: [RepeatOptions](../interfaces/v5.RepeatOptions.html) * `Optional` jobId: string #### Returns Promise ### removeRepeatableByKey[](#removeRepeatableByKey) * removeRepeatableByKey(repeatJobKey): Promise[](#removeRepeatableByKey.removeRepeatableByKey-1) * #### Parameters * repeatJobKey: string #### Returns Promise ### trace[](#trace) * trace<[T](v5.Repeat.html#trace.trace-1.T-1) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### updateRepeatableJob[](#updateRepeatableJob) * updateRepeatableJob<[T](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.T-2) , [R](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.R) , [N](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.N-1) \>(name, data, opts, \_\_namedParameters): Promise<[Job](v5.Job.html) <[T](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.T-2) , [R](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.R) , [N](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.N-1) \>\>[](#updateRepeatableJob.updateRepeatableJob-1) * #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * name: [N](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.N-1) * data: [T](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.T-2) * opts: [JobsOptions](../types/v5.JobsOptions.html) * \_\_namedParameters: {     override: boolean; } * ##### override: boolean #### Returns Promise<[Job](v5.Job.html) <[T](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.T-2) , [R](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.R) , [N](v5.Repeat.html#updateRepeatableJob.updateRepeatableJob-1.N-1) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [redisVersion](#redisVersion) * [close](#close) * [disconnect](#disconnect) * [emit](#emit) * [getRepeatJobKey](#getRepeatJobKey) * [getRepeatableCount](#getRepeatableCount) * [getRepeatableJobs](#getRepeatableJobs) * [removeRepeatable](#removeRepeatable) * [removeRepeatableByKey](#removeRepeatableByKey) * [trace](#trace) * [updateRepeatableJob](#updateRepeatableJob) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # WaitingChildrenError | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [WaitingChildrenError](v5.WaitingChildrenError.html) Class WaitingChildrenError ========================== WaitingChildrenError Error to be thrown when job is moved to waiting-children state from job in active state. #### Hierarchy * Error * WaitingChildrenError ##### Index ### Constructors [constructor](v5.WaitingChildrenError.html#constructor) Constructors ------------ ### constructor[](#constructor) * new WaitingChildrenError(message?): [WaitingChildrenError](v5.WaitingChildrenError.html) [](#constructor.new_WaitingChildrenError) * #### Parameters * message: string = WAITING\_CHILDREN\_ERROR #### Returns [WaitingChildrenError](v5.WaitingChildrenError.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) Generated using [TypeDoc](https://typedoc.org/) --- # Worker | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Worker](v5.Worker.html) Class Worker ============================================ This class represents a worker that is able to process jobs from the queue. As soon as the class is instantiated and a connection to Redis is established it will start processing jobs. #### Type Parameters * DataType = any * ResultType = any * NameType extends string = string #### Hierarchy ([view full](../hierarchy.html#v5.Worker) ) * [QueueBase](v5.QueueBase.html) * Worker ##### Index ### Constructors [constructor](v5.Worker.html#constructor) ### Properties [closing](v5.Worker.html#closing) [id](v5.Worker.html#id) [keys](v5.Worker.html#keys) [name](v5.Worker.html#name) [opts](v5.Worker.html#opts) [qualifiedName](v5.Worker.html#qualifiedName) [toKey](v5.Worker.html#toKey) ### Accessors [client](v5.Worker.html#client) [concurrency](v5.Worker.html#concurrency) [jobScheduler](v5.Worker.html#jobScheduler) [minimumBlockTimeout](v5.Worker.html#minimumBlockTimeout) [redisVersion](v5.Worker.html#redisVersion) [repeat](v5.Worker.html#repeat) ### Methods [close](v5.Worker.html#close) [delay](v5.Worker.html#delay) [disconnect](v5.Worker.html#disconnect) [emit](v5.Worker.html#emit) [getNextJob](v5.Worker.html#getNextJob) [isPaused](v5.Worker.html#isPaused) [isRunning](v5.Worker.html#isRunning) [off](v5.Worker.html#off) [on](v5.Worker.html#on) [once](v5.Worker.html#once) [pause](v5.Worker.html#pause) [processJob](v5.Worker.html#processJob) [rateLimit](v5.Worker.html#rateLimit) [resume](v5.Worker.html#resume) [run](v5.Worker.html#run) [startStalledCheckTimer](v5.Worker.html#startStalledCheckTimer) [trace](v5.Worker.html#trace) [waitUntilReady](v5.Worker.html#waitUntilReady) [RateLimitError](v5.Worker.html#RateLimitError) Constructors ------------ ### constructor[](#constructor) * new Worker<[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>(name, processor?, opts?, Connection?): [Worker](v5.Worker.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>[](#constructor.new_Worker) * #### Type Parameters * DataType = any * ResultType = any * NameType extends string = string #### Parameters * name: string * `Optional` processor: string | URL | [Processor](../types/v5.Processor.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> * `Optional` opts: [WorkerOptions](../interfaces/v5.WorkerOptions.html) * `Optional` Connection: typeof [RedisConnection](v5.RedisConnection.html) #### Returns [Worker](v5.Worker.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> Properties ---------- ### closing[](#closing) closing: Promise ### `Readonly` id[](#id) id: string ### keys[](#keys) keys: [KeysMap](../types/v5.KeysMap.html) ### `Readonly` name[](#name) name: string The name of the queue. ### `Readonly` opts[](#opts) opts: [WorkerOptions](../interfaces/v5.WorkerOptions.html) Options for the queue. ### `Readonly` qualifiedName[](#qualifiedName) qualifiedName: string ### toKey[](#toKey) toKey: ((type) => string) #### Type declaration * * (type): string * #### Parameters * type: string #### Returns string Accessors --------- ### client[](#client) * get client(): Promise<[RedisClient](../types/v5.RedisClient.html) \> * Returns a promise that resolves to a redis client. Normally used only by subclasses. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### concurrency[](#concurrency) * get concurrency(): number * #### Returns number * set concurrency(concurrency): void * #### Parameters * concurrency: number #### Returns void ### jobScheduler[](#jobScheduler) * get jobScheduler(): Promise<[JobScheduler](v5.JobScheduler.html) \> * #### Returns Promise<[JobScheduler](v5.JobScheduler.html) \> ### minimumBlockTimeout[](#minimumBlockTimeout) * get minimumBlockTimeout(): number * #### Returns number ### redisVersion[](#redisVersion) * get redisVersion(): string * Returns the version of the Redis instance the client is connected to, #### Returns string ### repeat[](#repeat) * get repeat(): Promise<[Repeat](v5.Repeat.html) \> * #### Returns Promise<[Repeat](v5.Repeat.html) \> Methods ------- ### close[](#close) * close(force?): Promise[](#close.close-1) * Closes the worker and related redis connections. This method waits for current jobs to finalize before returning. #### Parameters * force: boolean = false Use force boolean parameter if you do not want to wait for current jobs to be processed. When using telemetry, be mindful that it can interfere with the proper closure of spans, potentially preventing them from being exported. #### Returns Promise Promise that resolves when the worker has been closed. ### delay[](#delay) * delay(milliseconds?, abortController?): Promise[](#delay.delay-1) * This function is exposed only for testing purposes. #### Parameters * `Optional` milliseconds: number * `Optional` abortController: AbortController #### Returns Promise ### disconnect[](#disconnect) * disconnect(): Promise[](#disconnect.disconnect-1) * Force disconnects a connection. #### Returns Promise ### emit[](#emit) * emit<[U](v5.Worker.html#emit.emit-1.U) \>(event, ...args): boolean[](#emit.emit-1) * Emits an event. Normally used by subclasses to emit events. #### Type Parameters * U extends keyof [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> #### Parameters * event: [U](v5.Worker.html#emit.emit-1.U) The emitted event. * `Rest` ...args: Parameters<[WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\[[U](v5.Worker.html#emit.emit-1.U)\ \]\> #### Returns boolean ### getNextJob[](#getNextJob) * getNextJob(token, \_\_namedParameters?): Promise<[Job](v5.Job.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\>[](#getNextJob.getNextJob-1) * Returns a promise that resolves to the next job in queue. #### Parameters * token: string worker token to be assigned to retrieved job * \_\_namedParameters: [GetNextJobOptions](../interfaces/v5.GetNextJobOptions.html) = {} #### Returns Promise<[Job](v5.Job.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\> a Job or undefined if no job was available in the queue. ### isPaused[](#isPaused) * isPaused(): boolean[](#isPaused.isPaused-1) * Checks if worker is paused. #### Returns boolean true if worker is paused, false otherwise. ### isRunning[](#isRunning) * isRunning(): boolean[](#isRunning.isRunning-1) * Checks if worker is currently running. #### Returns boolean true if worker is running, false otherwise. ### off[](#off) * off<[U](v5.Worker.html#off.off-1.U-1) \>(eventName, listener): this[](#off.off-1) * #### Type Parameters * U extends keyof [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> #### Parameters * eventName: [U](v5.Worker.html#off.off-1.U-1) * listener: [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\[[U](v5.Worker.html#off.off-1.U-1)\ \] #### Returns this ### on[](#on) * on<[U](v5.Worker.html#on.on-1.U-2) \>(event, listener): this[](#on.on-1) * #### Type Parameters * U extends keyof [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> #### Parameters * event: [U](v5.Worker.html#on.on-1.U-2) * listener: [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\[[U](v5.Worker.html#on.on-1.U-2)\ \] #### Returns this ### once[](#once) * once<[U](v5.Worker.html#once.once-1.U-3) \>(event, listener): this[](#once.once-1) * #### Type Parameters * U extends keyof [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> #### Parameters * event: [U](v5.Worker.html#once.once-1.U-3) * listener: [WorkerListener](../interfaces/v5.WorkerListener.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \>\[[U](v5.Worker.html#once.once-1.U-3)\ \] #### Returns this ### pause[](#pause) * pause(doNotWaitActive?): Promise[](#pause.pause-1) * Pauses the processing of this queue only for this worker. #### Parameters * `Optional` doNotWaitActive: boolean #### Returns Promise ### processJob[](#processJob) * processJob(job, token, fetchNextCallback?, jobsInProgress): Promise\>[](#processJob.processJob-1) * #### Parameters * job: [Job](v5.Job.html) <[DataType](v5.Worker.html#constructor.new_Worker.DataType-1) , [ResultType](v5.Worker.html#constructor.new_Worker.ResultType-1) , [NameType](v5.Worker.html#constructor.new_Worker.NameType-1) \> * token: string * fetchNextCallback: (() => boolean) = ... * * (): boolean * #### Returns boolean * jobsInProgress: Set<{     job: [Job](v5.Job.html) ;     ts: number; }\> #### Returns Promise\> ### rateLimit[](#rateLimit) * rateLimit(expireTimeMs): Promise[](#rateLimit.rateLimit-1) * Overrides the rate limit to be active for the next jobs. #### Parameters * expireTimeMs: number expire time in ms of this rate limit. #### Returns Promise #### Deprecated This method is deprecated and will be removed in v6. Use queue.rateLimit method instead. ### resume[](#resume) * resume(): void[](#resume.resume-1) * Resumes processing of this worker (if paused). #### Returns void ### run[](#run) * run(): Promise[](#run.run-1) * #### Returns Promise ### startStalledCheckTimer[](#startStalledCheckTimer) * startStalledCheckTimer(): Promise[](#startStalledCheckTimer.startStalledCheckTimer-1) * Manually starts the stalled checker. The check will run once as soon as this method is called, and then every opts.stalledInterval milliseconds until the worker is closed. Note: Normally you do not need to call this method, since the stalled checker is automatically started when the worker starts processing jobs after calling run. However if you want to process the jobs manually you need to call this method to start the stalled checker. #### Returns Promise #### See [https://docs.bullmq.io/patterns/manually-fetching-jobs](https://docs.bullmq.io/patterns/manually-fetching-jobs) ### trace[](#trace) * trace<[T](v5.Worker.html#trace.trace-1.T) \>(spanKind, operation, destination, callback, srcPropagationMetadata?): Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\>[](#trace.trace-1) * Wraps the code with telemetry and provides a span for configuration. #### Type Parameters * T #### Parameters * spanKind: [SpanKind](../enums/v5.SpanKind.html) kind of the span: Producer, Consumer, Internal * operation: string operation name (such as add, process, etc) * destination: string destination name (normally the queue name) * callback: ((span?, dstPropagationMetadata?) => [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>) code to wrap with telemetry * * (span?, dstPropagationMetadata?): [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * #### Parameters * `Optional` span: [Span](../interfaces/v5.Span.html) * `Optional` dstPropagationMetadata: string #### Returns [T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \> * `Optional` srcPropagationMetadata: string #### Returns Promise<[T](v5.JobScheduler.html#trace.trace-1.T) | Promise<[T](v5.JobScheduler.html#trace.trace-1.T) \>\> ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise<[RedisClient](../types/v5.RedisClient.html) \>[](#waitUntilReady.waitUntilReady-1) * Waits until the worker is ready to start processing jobs. In general only useful when writing tests. #### Returns Promise<[RedisClient](../types/v5.RedisClient.html) \> ### `Static` RateLimitError[](#RateLimitError) * RateLimitError(): Error[](#RateLimitError.RateLimitError-1) * #### Returns Error ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [closing](#closing) * [id](#id) * [keys](#keys) * [name](#name) * [opts](#opts) * [qualifiedName](#qualifiedName) * [toKey](#toKey) * [client](#client) * [concurrency](#concurrency) * [jobScheduler](#jobScheduler) * [minimumBlockTimeout](#minimumBlockTimeout) * [redisVersion](#redisVersion) * [repeat](#repeat) * [close](#close) * [delay](#delay) * [disconnect](#disconnect) * [emit](#emit) * [getNextJob](#getNextJob) * [isPaused](#isPaused) * [isRunning](#isRunning) * [off](#off) * [on](#on) * [once](#once) * [pause](#pause) * [processJob](#processJob) * [rateLimit](#rateLimit) * [resume](#resume) * [run](#run) * [startStalledCheckTimer](#startStalledCheckTimer) * [trace](#trace) * [waitUntilReady](#waitUntilReady) * [RateLimitError](#RateLimitError) Generated using [TypeDoc](https://typedoc.org/) --- # AddNodeOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AddNodeOpts](v5.AddNodeOpts.html) Interface AddNodeOpts ===================== interface AddNodeOpts {     [multi](v5.AddNodeOpts.html#multi) : ChainableCommander;     [node](v5.AddNodeOpts.html#node) : [FlowJob](../types/v5.FlowJob.html) ;     [parent](v5.AddNodeOpts.html#parent) ?: {         parentDependenciesKey: string;         parentOpts: {             id: string;             queue: string;         };     };     [queuesOpts](v5.AddNodeOpts.html#queuesOpts) ?: [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) ; } ##### Index ### Properties [multi](v5.AddNodeOpts.html#multi) [node](v5.AddNodeOpts.html#node) [parent?](v5.AddNodeOpts.html#parent) [queuesOpts?](v5.AddNodeOpts.html#queuesOpts) Properties ---------- ### multi[](#multi) multi: ChainableCommander ### node[](#node) node: [FlowJob](../types/v5.FlowJob.html) ### `Optional` parent[](#parent) parent?: {     parentDependenciesKey: string;     parentOpts: {         id: string;         queue: string;     }; } #### Type declaration * ##### parentDependenciesKey: string * ##### parentOpts: {     id: string;     queue: string; } * ##### id: string * ##### queue: string ### `Optional` queuesOpts[](#queuesOpts) queuesOpts?: [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) Queues options that will be applied in each node depending on queue name presence. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [multi](#multi) * [node](#node) * [parent](#parent) * [queuesOpts](#queuesOpts) Generated using [TypeDoc](https://typedoc.org/) --- # Scripts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Scripts](v5.Scripts.html) Class Scripts ============= ##### Index ### Constructors [constructor](v5.Scripts.html#constructor) ### Properties [moveToFinishedKeys](v5.Scripts.html#moveToFinishedKeys) ### Methods [addJob](v5.Scripts.html#addJob) [addJobScheduler](v5.Scripts.html#addJobScheduler) [addLog](v5.Scripts.html#addLog) [addRepeatableJob](v5.Scripts.html#addRepeatableJob) [changeDelay](v5.Scripts.html#changeDelay) [changePriority](v5.Scripts.html#changePriority) [cleanJobsInSet](v5.Scripts.html#cleanJobsInSet) [drain](v5.Scripts.html#drain) [execCommand](v5.Scripts.html#execCommand) [extendLock](v5.Scripts.html#extendLock) [extendLocks](v5.Scripts.html#extendLocks) [finishedErrors](v5.Scripts.html#finishedErrors) [getCounts](v5.Scripts.html#getCounts) [getCountsPerPriority](v5.Scripts.html#getCountsPerPriority) [getJobScheduler](v5.Scripts.html#getJobScheduler) [getJobSchedulerArgs](v5.Scripts.html#getJobSchedulerArgs) [getRanges](v5.Scripts.html#getRanges) [getRateLimitTtl](v5.Scripts.html#getRateLimitTtl) [getRateLimitTtlArgs](v5.Scripts.html#getRateLimitTtlArgs) [getRepeatConcatOptions](v5.Scripts.html#getRepeatConcatOptions) [getState](v5.Scripts.html#getState) [isFinished](v5.Scripts.html#isFinished) [isJobInList](v5.Scripts.html#isJobInList) [isMaxed](v5.Scripts.html#isMaxed) [isMaxedArgs](v5.Scripts.html#isMaxedArgs) [moveJobFromActiveToWait](v5.Scripts.html#moveJobFromActiveToWait) [moveStalledJobsToWait](v5.Scripts.html#moveStalledJobsToWait) [moveToActive](v5.Scripts.html#moveToActive) [moveToCompletedArgs](v5.Scripts.html#moveToCompletedArgs) [moveToDelayed](v5.Scripts.html#moveToDelayed) [moveToDelayedArgs](v5.Scripts.html#moveToDelayedArgs) [moveToFailedArgs](v5.Scripts.html#moveToFailedArgs) [moveToFinished](v5.Scripts.html#moveToFinished) [moveToWaitingChildren](v5.Scripts.html#moveToWaitingChildren) [moveToWaitingChildrenArgs](v5.Scripts.html#moveToWaitingChildrenArgs) [obliterate](v5.Scripts.html#obliterate) [paginate](v5.Scripts.html#paginate) [pause](v5.Scripts.html#pause) [promote](v5.Scripts.html#promote) [promoteJobs](v5.Scripts.html#promoteJobs) [remove](v5.Scripts.html#remove) [removeChildDependency](v5.Scripts.html#removeChildDependency) [removeJobScheduler](v5.Scripts.html#removeJobScheduler) [removeRepeatable](v5.Scripts.html#removeRepeatable) [reprocessJob](v5.Scripts.html#reprocessJob) [retryJob](v5.Scripts.html#retryJob) [retryJobArgs](v5.Scripts.html#retryJobArgs) [retryJobs](v5.Scripts.html#retryJobs) [updateData](v5.Scripts.html#updateData) [updateJobSchedulerNextMillis](v5.Scripts.html#updateJobSchedulerNextMillis) [updateProgress](v5.Scripts.html#updateProgress) [updateRepeatableJobMillis](v5.Scripts.html#updateRepeatableJobMillis) Constructors ------------ ### constructor[](#constructor) * new Scripts(queue): [Scripts](v5.Scripts.html) [](#constructor.new_Scripts) * #### Parameters * queue: [MinimalQueue](../types/v5.MinimalQueue.html) #### Returns [Scripts](v5.Scripts.html) Properties ---------- ### moveToFinishedKeys[](#moveToFinishedKeys) moveToFinishedKeys: string\[\] Methods ------- ### addJob[](#addJob) * addJob(client, job, opts, jobId, parentOpts?): Promise[](#addJob.addJob-1) * #### Parameters * client: [RedisClient](../types/v5.RedisClient.html) * job: [JobJson](../interfaces/v5.JobJson.html) * opts: [RedisJobOptions](../types/v5.RedisJobOptions.html) * jobId: string * parentOpts: [ParentOpts](../types/v5.ParentOpts.html) = {} #### Returns Promise ### addJobScheduler[](#addJobScheduler) * addJobScheduler(jobSchedulerId, nextMillis, templateData, templateOpts, opts, delayedJobOpts, producerId?): Promise[](#addJobScheduler.addJobScheduler-1) * #### Parameters * jobSchedulerId: string * nextMillis: number * templateData: string * templateOpts: [RedisJobOptions](../types/v5.RedisJobOptions.html) * opts: [RepeatableOptions](../types/v5.RepeatableOptions.html) * delayedJobOpts: [JobsOptions](../types/v5.JobsOptions.html) * `Optional` producerId: string #### Returns Promise ### addLog[](#addLog) * addLog(jobId, logRow, keepLogs?): Promise[](#addLog.addLog-1) * #### Parameters * jobId: string * logRow: string * `Optional` keepLogs: number #### Returns Promise ### addRepeatableJob[](#addRepeatableJob) * addRepeatableJob(customKey, nextMillis, opts, legacyCustomKey): Promise[](#addRepeatableJob.addRepeatableJob-1) * #### Parameters * customKey: string * nextMillis: number * opts: [RepeatableOptions](../types/v5.RepeatableOptions.html) * legacyCustomKey: string #### Returns Promise ### changeDelay[](#changeDelay) * changeDelay(jobId, delay): Promise[](#changeDelay.changeDelay-1) * #### Parameters * jobId: string * delay: number #### Returns Promise ### changePriority[](#changePriority) * changePriority(jobId, priority?, lifo?): Promise[](#changePriority.changePriority-1) * #### Parameters * jobId: string * priority: number = 0 * lifo: boolean = false #### Returns Promise ### cleanJobsInSet[](#cleanJobsInSet) * cleanJobsInSet(set, timestamp, limit?): Promise[](#cleanJobsInSet.cleanJobsInSet-1) * Remove jobs in a specific state. #### Parameters * set: string * timestamp: number * limit: number = 0 #### Returns Promise Id jobs from the deleted records. ### drain[](#drain) * drain(delayed): Promise[](#drain.drain-1) * #### Parameters * delayed: boolean #### Returns Promise ### execCommand[](#execCommand) * execCommand(client, commandName, args): any[](#execCommand.execCommand-1) * #### Parameters * client: ChainableCommander | [RedisClient](../types/v5.RedisClient.html) * commandName: string * args: any\[\] #### Returns any ### extendLock[](#extendLock) * extendLock(jobId, token, duration, client?): Promise[](#extendLock.extendLock-1) * #### Parameters * jobId: string * token: string * duration: number * `Optional` client: ChainableCommander | [RedisClient](../types/v5.RedisClient.html) #### Returns Promise ### extendLocks[](#extendLocks) * extendLocks(jobIds, tokens, duration): Promise[](#extendLocks.extendLocks-1) * #### Parameters * jobIds: string\[\] * tokens: string\[\] * duration: number #### Returns Promise ### finishedErrors[](#finishedErrors) * finishedErrors(\_\_namedParameters): Error[](#finishedErrors.finishedErrors-1) * #### Parameters * \_\_namedParameters: {     code: number;     command: string;     jobId?: string;     parentKey?: string;     state?: string; } * ##### code: number * ##### command: string * ##### `Optional` jobId?: string * ##### `Optional` parentKey?: string * ##### `Optional` state?: string #### Returns Error ### getCounts[](#getCounts) * getCounts(types): Promise[](#getCounts.getCounts-1) * #### Parameters * types: [JobType](../types/v5.JobType.html) \[\] #### Returns Promise ### getCountsPerPriority[](#getCountsPerPriority) * getCountsPerPriority(priorities): Promise[](#getCountsPerPriority.getCountsPerPriority-1) * #### Parameters * priorities: number\[\] #### Returns Promise ### getJobScheduler[](#getJobScheduler) * getJobScheduler(id): Promise<\[any, string\]\>[](#getJobScheduler.getJobScheduler-1) * #### Parameters * id: string #### Returns Promise<\[any, string\]\> ### getJobSchedulerArgs[](#getJobSchedulerArgs) * getJobSchedulerArgs(id): string\[\][](#getJobSchedulerArgs.getJobSchedulerArgs-1) * #### Parameters * id: string #### Returns string\[\] ### getRanges[](#getRanges) * getRanges(types, start?, end?, asc?): Promise<\[string\]\[\]\>[](#getRanges.getRanges-1) * #### Parameters * types: [JobType](../types/v5.JobType.html) \[\] * start: number = 0 * end: number = 1 * asc: boolean = false #### Returns Promise<\[string\]\[\]\> ### getRateLimitTtl[](#getRateLimitTtl) * getRateLimitTtl(maxJobs?): Promise[](#getRateLimitTtl.getRateLimitTtl-1) * #### Parameters * `Optional` maxJobs: number #### Returns Promise ### getRateLimitTtlArgs[](#getRateLimitTtlArgs) * getRateLimitTtlArgs(maxJobs?): (string | number)\[\][](#getRateLimitTtlArgs.getRateLimitTtlArgs-1) * #### Parameters * `Optional` maxJobs: number #### Returns (string | number)\[\] ### getRepeatConcatOptions[](#getRepeatConcatOptions) * getRepeatConcatOptions(repeatConcatOptions, repeatJobKey): string[](#getRepeatConcatOptions.getRepeatConcatOptions-1) * #### Parameters * repeatConcatOptions: string * repeatJobKey: string #### Returns string ### getState[](#getState) * getState(jobId): Promise<"unknown" | [JobState](../types/v5.JobState.html) \>[](#getState.getState-1) * #### Parameters * jobId: string #### Returns Promise<"unknown" | [JobState](../types/v5.JobState.html) \> ### isFinished[](#isFinished) * isFinished(jobId, returnValue?): Promise[](#isFinished.isFinished-1) * #### Parameters * jobId: string * returnValue: boolean = false #### Returns Promise ### isJobInList[](#isJobInList) * isJobInList(listKey, jobId): Promise[](#isJobInList.isJobInList-1) * #### Parameters * listKey: string * jobId: string #### Returns Promise ### isMaxed[](#isMaxed) * isMaxed(): Promise[](#isMaxed.isMaxed-1) * #### Returns Promise ### isMaxedArgs[](#isMaxedArgs) * isMaxedArgs(): string\[\][](#isMaxedArgs.isMaxedArgs-1) * #### Returns string\[\] ### moveJobFromActiveToWait[](#moveJobFromActiveToWait) * moveJobFromActiveToWait(jobId, token): Promise[](#moveJobFromActiveToWait.moveJobFromActiveToWait-1) * Moves a job back from Active to Wait. This script is used when a job has been manually rate limited and needs to be moved back to wait from active status. #### Parameters * jobId: string Job id * token: string #### Returns Promise ### moveStalledJobsToWait[](#moveStalledJobsToWait) * moveStalledJobsToWait(): Promise<\[string\[\], string\[\]\]\>[](#moveStalledJobsToWait.moveStalledJobsToWait-1) * Looks for unlocked jobs in the active queue. The job was being worked on, but the worker process died and it failed to renew the lock. We call these jobs 'stalled'. This is the most common case. We resolve these by moving them back to wait to be re-processed. To prevent jobs from cycling endlessly between active and wait, (e.g. if the job handler keeps crashing), we limit the number stalled job recoveries to settings.maxStalledCount. #### Returns Promise<\[string\[\], string\[\]\]\> ### moveToActive[](#moveToActive) * moveToActive(client, token, name?): Promise[](#moveToActive.moveToActive-1) * #### Parameters * client: [RedisClient](../types/v5.RedisClient.html) * token: string * `Optional` name: string #### Returns Promise ### moveToCompletedArgs[](#moveToCompletedArgs) * moveToCompletedArgs<[T](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.T) , [R](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.R) , [N](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.N) \>(job, returnvalue, removeOnComplete, token, fetchNext?): (string | number | boolean | Buffer)\[\][](#moveToCompletedArgs.moveToCompletedArgs-1) * #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * job: [MinimalJob](../interfaces/v5.MinimalJob.html) <[T](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.T) , [R](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.R) , [N](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.N) \> * returnvalue: [R](v5.Scripts.html#moveToCompletedArgs.moveToCompletedArgs-1.R) * removeOnComplete: number | boolean | [KeepJobs](../interfaces/v5.KeepJobs.html) * token: string * fetchNext: boolean = false #### Returns (string | number | boolean | Buffer)\[\] ### moveToDelayed[](#moveToDelayed) * moveToDelayed(jobId, timestamp, delay, token?, opts?): Promise[](#moveToDelayed.moveToDelayed-1) * #### Parameters * jobId: string * timestamp: number * delay: number * token: string = '0' * opts: [MoveToDelayedOpts](../interfaces/v5.MoveToDelayedOpts.html) = {} #### Returns Promise ### moveToDelayedArgs[](#moveToDelayedArgs) * moveToDelayedArgs(jobId, timestamp, token, delay, opts?): (string | number | Buffer)\[\][](#moveToDelayedArgs.moveToDelayedArgs-1) * #### Parameters * jobId: string * timestamp: number * token: string * delay: number * opts: [MoveToDelayedOpts](../interfaces/v5.MoveToDelayedOpts.html) = {} #### Returns (string | number | Buffer)\[\] ### moveToFailedArgs[](#moveToFailedArgs) * moveToFailedArgs<[T](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.T-1) , [R](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.R-1) , [N](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.N-1) \>(job, failedReason, removeOnFailed, token, fetchNext?, fieldsToUpdate?): (string | number | boolean | Buffer)\[\][](#moveToFailedArgs.moveToFailedArgs-1) * #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * job: [MinimalJob](../interfaces/v5.MinimalJob.html) <[T](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.T-1) , [R](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.R-1) , [N](v5.Scripts.html#moveToFailedArgs.moveToFailedArgs-1.N-1) \> * failedReason: string * removeOnFailed: number | boolean | [KeepJobs](../interfaces/v5.KeepJobs.html) * token: string * fetchNext: boolean = false * `Optional` fieldsToUpdate: Record #### Returns (string | number | boolean | Buffer)\[\] ### moveToFinished[](#moveToFinished) * moveToFinished(jobId, args): Promise[](#moveToFinished.moveToFinished-1) * #### Parameters * jobId: string * args: (string | number | boolean | Buffer)\[\] #### Returns Promise ### moveToWaitingChildren[](#moveToWaitingChildren) * moveToWaitingChildren(jobId, token, opts?): Promise[](#moveToWaitingChildren.moveToWaitingChildren-1) * Move parent job to waiting-children state. #### Parameters * jobId: string * token: string * opts: [MoveToWaitingChildrenOpts](../interfaces/v5.MoveToWaitingChildrenOpts.html) = {} #### Returns Promise true if job is successfully moved, false if there are pending dependencies. #### Throws JobNotExist This exception is thrown if jobId is missing. #### Throws JobLockNotExist This exception is thrown if job lock is missing. #### Throws JobNotInState This exception is thrown if job is not in active state. ### moveToWaitingChildrenArgs[](#moveToWaitingChildrenArgs) * moveToWaitingChildrenArgs(jobId, token, opts?): (string | number)\[\][](#moveToWaitingChildrenArgs.moveToWaitingChildrenArgs-1) * #### Parameters * jobId: string * token: string * `Optional` opts: [MoveToWaitingChildrenOpts](../interfaces/v5.MoveToWaitingChildrenOpts.html) #### Returns (string | number)\[\] ### obliterate[](#obliterate) * obliterate(opts): Promise[](#obliterate.obliterate-1) * #### Parameters * opts: {     count: number;     force: boolean; } * ##### count: number * ##### force: boolean #### Returns Promise ### paginate[](#paginate) * paginate(key, opts): Promise<{     cursor: string;     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs?: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\>[](#paginate.paginate-1) * Paginate a set or hash keys. #### Parameters * key: string * opts: {     end: number;     fetchJobs?: boolean;     start: number; } * ##### end: number * ##### `Optional` fetchJobs?: boolean * ##### start: number #### Returns Promise<{     cursor: string;     items: {         err?: string;         id: string;         v?: any;     }\[\];     jobs?: [JobJsonRaw](../interfaces/v5.JobJsonRaw.html) \[\];     total: number; }\> ### pause[](#pause) * pause(pause): Promise[](#pause.pause-1) * #### Parameters * pause: boolean #### Returns Promise ### promote[](#promote) * promote(jobId): Promise[](#promote.promote-1) * #### Parameters * jobId: string #### Returns Promise ### promoteJobs[](#promoteJobs) * promoteJobs(count?): Promise[](#promoteJobs.promoteJobs-1) * #### Parameters * count: number = 1000 #### Returns Promise ### remove[](#remove) * remove(jobId, removeChildren): Promise[](#remove.remove-1) * #### Parameters * jobId: string * removeChildren: boolean #### Returns Promise ### removeChildDependency[](#removeChildDependency) * removeChildDependency(jobId, parentKey): Promise[](#removeChildDependency.removeChildDependency-1) * #### Parameters * jobId: string * parentKey: string #### Returns Promise ### removeJobScheduler[](#removeJobScheduler) * removeJobScheduler(jobSchedulerId): Promise[](#removeJobScheduler.removeJobScheduler-1) * #### Parameters * jobSchedulerId: string #### Returns Promise ### removeRepeatable[](#removeRepeatable) * removeRepeatable(legacyRepeatJobId, repeatConcatOptions, repeatJobKey): Promise[](#removeRepeatable.removeRepeatable-1) * #### Parameters * legacyRepeatJobId: string * repeatConcatOptions: string * repeatJobKey: string #### Returns Promise ### reprocessJob[](#reprocessJob) * reprocessJob<[T](v5.Scripts.html#reprocessJob.reprocessJob-1.T-2) , [R](v5.Scripts.html#reprocessJob.reprocessJob-1.R-2) , [N](v5.Scripts.html#reprocessJob.reprocessJob-1.N-2) \>(job, state): Promise[](#reprocessJob.reprocessJob-1) * Attempts to reprocess a job #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * job: [MinimalJob](../interfaces/v5.MinimalJob.html) <[T](v5.Scripts.html#reprocessJob.reprocessJob-1.T-2) , [R](v5.Scripts.html#reprocessJob.reprocessJob-1.R-2) , [N](v5.Scripts.html#reprocessJob.reprocessJob-1.N-2) \> * state: "failed" | "completed" The expected job state. If the job is not found on the provided state, then it's not reprocessed. Supported states: 'failed', 'completed' #### Returns Promise Returns a promise that evaluates to a return code: 1 means the operation was a success 0 means the job does not exist -1 means the job is currently locked and can't be retried. -2 means the job was not found in the expected set ### retryJob[](#retryJob) * retryJob(jobId, lifo, token?, opts?): Promise[](#retryJob.retryJob-1) * #### Parameters * jobId: string * lifo: boolean * token: string = '0' * opts: [RetryJobOpts](../interfaces/v5.RetryJobOpts.html) = {} #### Returns Promise ### retryJobArgs[](#retryJobArgs) * retryJobArgs(jobId, lifo, token, opts?): (string | number | Buffer)\[\][](#retryJobArgs.retryJobArgs-1) * #### Parameters * jobId: string * lifo: boolean * token: string * opts: [MoveToDelayedOpts](../interfaces/v5.MoveToDelayedOpts.html) = {} #### Returns (string | number | Buffer)\[\] ### retryJobs[](#retryJobs) * retryJobs(state?, count?, timestamp?): Promise[](#retryJobs.retryJobs-1) * #### Parameters * state: [FinishedStatus](../types/v5.FinishedStatus.html) = 'failed' * count: number = 1000 * timestamp: number = ... #### Returns Promise ### updateData[](#updateData) * updateData<[T](v5.Scripts.html#updateData.updateData-1.T-3) , [R](v5.Scripts.html#updateData.updateData-1.R-3) , [N](v5.Scripts.html#updateData.updateData-1.N-3) \>(job, data): Promise[](#updateData.updateData-1) * #### Type Parameters * T = any * R = any * N extends string = string #### Parameters * job: [MinimalJob](../interfaces/v5.MinimalJob.html) <[T](v5.Scripts.html#updateData.updateData-1.T-3) , [R](v5.Scripts.html#updateData.updateData-1.R-3) , [N](v5.Scripts.html#updateData.updateData-1.N-3) \> * data: [T](v5.Scripts.html#updateData.updateData-1.T-3) #### Returns Promise ### updateJobSchedulerNextMillis[](#updateJobSchedulerNextMillis) * updateJobSchedulerNextMillis(jobSchedulerId, nextMillis, templateData, delayedJobOpts, producerId?): Promise[](#updateJobSchedulerNextMillis.updateJobSchedulerNextMillis-1) * #### Parameters * jobSchedulerId: string * nextMillis: number * templateData: string * delayedJobOpts: [JobsOptions](../types/v5.JobsOptions.html) * `Optional` producerId: string #### Returns Promise ### updateProgress[](#updateProgress) * updateProgress(jobId, progress): Promise[](#updateProgress.updateProgress-1) * #### Parameters * jobId: string * progress: number | object #### Returns Promise ### updateRepeatableJobMillis[](#updateRepeatableJobMillis) * updateRepeatableJobMillis(client, customKey, nextMillis, legacyCustomKey): Promise[](#updateRepeatableJobMillis.updateRepeatableJobMillis-1) * #### Parameters * client: [RedisClient](../types/v5.RedisClient.html) * customKey: string * nextMillis: number * legacyCustomKey: string #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [constructor](#constructor) * [moveToFinishedKeys](#moveToFinishedKeys) * [addJob](#addJob) * [addJobScheduler](#addJobScheduler) * [addLog](#addLog) * [addRepeatableJob](#addRepeatableJob) * [changeDelay](#changeDelay) * [changePriority](#changePriority) * [cleanJobsInSet](#cleanJobsInSet) * [drain](#drain) * [execCommand](#execCommand) * [extendLock](#extendLock) * [extendLocks](#extendLocks) * [finishedErrors](#finishedErrors) * [getCounts](#getCounts) * [getCountsPerPriority](#getCountsPerPriority) * [getJobScheduler](#getJobScheduler) * [getJobSchedulerArgs](#getJobSchedulerArgs) * [getRanges](#getRanges) * [getRateLimitTtl](#getRateLimitTtl) * [getRateLimitTtlArgs](#getRateLimitTtlArgs) * [getRepeatConcatOptions](#getRepeatConcatOptions) * [getState](#getState) * [isFinished](#isFinished) * [isJobInList](#isJobInList) * [isMaxed](#isMaxed) * [isMaxedArgs](#isMaxedArgs) * [moveJobFromActiveToWait](#moveJobFromActiveToWait) * [moveStalledJobsToWait](#moveStalledJobsToWait) * [moveToActive](#moveToActive) * [moveToCompletedArgs](#moveToCompletedArgs) * [moveToDelayed](#moveToDelayed) * [moveToDelayedArgs](#moveToDelayedArgs) * [moveToFailedArgs](#moveToFailedArgs) * [moveToFinished](#moveToFinished) * [moveToWaitingChildren](#moveToWaitingChildren) * [moveToWaitingChildrenArgs](#moveToWaitingChildrenArgs) * [obliterate](#obliterate) * [paginate](#paginate) * [pause](#pause) * [promote](#promote) * [promoteJobs](#promoteJobs) * [remove](#remove) * [removeChildDependency](#removeChildDependency) * [removeJobScheduler](#removeJobScheduler) * [removeRepeatable](#removeRepeatable) * [reprocessJob](#reprocessJob) * [retryJob](#retryJob) * [retryJobArgs](#retryJobArgs) * [retryJobs](#retryJobs) * [updateData](#updateData) * [updateJobSchedulerNextMillis](#updateJobSchedulerNextMillis) * [updateProgress](#updateProgress) * [updateRepeatableJobMillis](#updateRepeatableJobMillis) Generated using [TypeDoc](https://typedoc.org/) --- # AddChildrenOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AddChildrenOpts](v5.AddChildrenOpts.html) Interface AddChildrenOpts ========================= interface AddChildrenOpts {     [multi](v5.AddChildrenOpts.html#multi) : ChainableCommander;     [nodes](v5.AddChildrenOpts.html#nodes) : [FlowJob](../types/v5.FlowJob.html) \[\];     [parent](v5.AddChildrenOpts.html#parent) : {         parentDependenciesKey: string;         parentOpts: {             id: string;             queue: string;         };     };     [queuesOpts](v5.AddChildrenOpts.html#queuesOpts) ?: [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) ; } ##### Index ### Properties [multi](v5.AddChildrenOpts.html#multi) [nodes](v5.AddChildrenOpts.html#nodes) [parent](v5.AddChildrenOpts.html#parent) [queuesOpts?](v5.AddChildrenOpts.html#queuesOpts) Properties ---------- ### multi[](#multi) multi: ChainableCommander ### nodes[](#nodes) nodes: [FlowJob](../types/v5.FlowJob.html) \[\] ### parent[](#parent) parent: {     parentDependenciesKey: string;     parentOpts: {         id: string;         queue: string;     }; } #### Type declaration * ##### parentDependenciesKey: string * ##### parentOpts: {     id: string;     queue: string; } * ##### id: string * ##### queue: string ### `Optional` queuesOpts[](#queuesOpts) queuesOpts?: [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [multi](#multi) * [nodes](#nodes) * [parent](#parent) * [queuesOpts](#queuesOpts) Generated using [TypeDoc](https://typedoc.org/) --- # AdvancedOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AdvancedOptions](v5.AdvancedOptions.html) Interface AdvancedOptions ========================= interface AdvancedOptions {     [backoffStrategy](v5.AdvancedOptions.html#backoffStrategy) ?: [BackoffStrategy](../types/v5.BackoffStrategy.html) ;     [repeatKeyHashAlgorithm](v5.AdvancedOptions.html#repeatKeyHashAlgorithm) ?: string;     [repeatStrategy](v5.AdvancedOptions.html#repeatStrategy) ?: [RepeatStrategy](../types/v5.RepeatStrategy.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.AdvancedOptions) ) * [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) * AdvancedOptions ##### Index ### Properties [backoffStrategy?](v5.AdvancedOptions.html#backoffStrategy) [repeatKeyHashAlgorithm?](v5.AdvancedOptions.html#repeatKeyHashAlgorithm) [repeatStrategy?](v5.AdvancedOptions.html#repeatStrategy) Properties ---------- ### `Optional` backoffStrategy[](#backoffStrategy) backoffStrategy?: [BackoffStrategy](../types/v5.BackoffStrategy.html) A custom backoff strategy. ### `Optional` repeatKeyHashAlgorithm[](#repeatKeyHashAlgorithm) repeatKeyHashAlgorithm?: string A hash algorithm to be used when trying to create the job redis key. Default - md5 ### `Optional` repeatStrategy[](#repeatStrategy) repeatStrategy?: [RepeatStrategy](../types/v5.RepeatStrategy.html) A custom cron strategy. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [backoffStrategy](#backoffStrategy) * [repeatKeyHashAlgorithm](#repeatKeyHashAlgorithm) * [repeatStrategy](#repeatStrategy) Generated using [TypeDoc](https://typedoc.org/) --- # AdvancedRepeatOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) Interface AdvancedRepeatOptions =============================== interface AdvancedRepeatOptions {     [repeatKeyHashAlgorithm](v5.AdvancedRepeatOptions.html#repeatKeyHashAlgorithm) ?: string;     [repeatStrategy](v5.AdvancedRepeatOptions.html#repeatStrategy) ?: [RepeatStrategy](../types/v5.RepeatStrategy.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.AdvancedRepeatOptions) ) * AdvancedRepeatOptions * [AdvancedOptions](v5.AdvancedOptions.html) ##### Index ### Properties [repeatKeyHashAlgorithm?](v5.AdvancedRepeatOptions.html#repeatKeyHashAlgorithm) [repeatStrategy?](v5.AdvancedRepeatOptions.html#repeatStrategy) Properties ---------- ### `Optional` repeatKeyHashAlgorithm[](#repeatKeyHashAlgorithm) repeatKeyHashAlgorithm?: string A hash algorithm to be used when trying to create the job redis key. Default - md5 ### `Optional` repeatStrategy[](#repeatStrategy) repeatStrategy?: [RepeatStrategy](../types/v5.RepeatStrategy.html) A custom cron strategy. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [repeatKeyHashAlgorithm](#repeatKeyHashAlgorithm) * [repeatStrategy](#repeatStrategy) Generated using [TypeDoc](https://typedoc.org/) --- # Attributes | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Attributes](v5.Attributes.html) Interface Attributes ==================== interface Attributes {     \[attribute: string\]: [AttributeValue](../types/v5.AttributeValue.html) | undefined; } #### Indexable \[attribute: string\]: [AttributeValue](../types/v5.AttributeValue.html) | undefined ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # BackoffOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BackoffOptions](v5.BackoffOptions.html) Interface BackoffOptions ======================== Settings for backing off failed jobs. #### See [https://docs.bullmq.io/guide/retrying-failing-jobs](https://docs.bullmq.io/guide/retrying-failing-jobs) interface BackoffOptions {     [delay](v5.BackoffOptions.html#delay) ?: number;     [type](v5.BackoffOptions.html#type) : "fixed" | "exponential" | string & {}; } ##### Index ### Properties [delay?](v5.BackoffOptions.html#delay) [type](v5.BackoffOptions.html#type) Properties ---------- ### `Optional` delay[](#delay) delay?: number Delay in milliseconds. ### type[](#type) type: "fixed" | "exponential" | string & {} Name of the backoff strategy. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [delay](#delay) * [type](#type) Generated using [TypeDoc](https://typedoc.org/) --- # BaseJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BaseJobOptions](v5.BaseJobOptions.html) Interface BaseJobOptions ======================== interface BaseJobOptions {     [attempts](v5.BaseJobOptions.html#attempts) ?: number;     [backoff](v5.BaseJobOptions.html#backoff) ?: number | [BackoffOptions](v5.BackoffOptions.html) ;     [delay](v5.BaseJobOptions.html#delay) ?: number;     [jobId](v5.BaseJobOptions.html#jobId) ?: string;     [keepLogs](v5.BaseJobOptions.html#keepLogs) ?: number;     [lifo](v5.BaseJobOptions.html#lifo) ?: boolean;     [parent](v5.BaseJobOptions.html#parent) ?: {         id: string;         queue: string;     };     [prevMillis](v5.BaseJobOptions.html#prevMillis) ?: number;     [priority](v5.BaseJobOptions.html#priority) ?: number;     [removeOnComplete](v5.BaseJobOptions.html#removeOnComplete) ?: number | boolean | [KeepJobs](v5.KeepJobs.html) ;     [removeOnFail](v5.BaseJobOptions.html#removeOnFail) ?: number | boolean | [KeepJobs](v5.KeepJobs.html) ;     [repeat](v5.BaseJobOptions.html#repeat) ?: [RepeatOptions](v5.RepeatOptions.html) ;     [repeatJobKey](v5.BaseJobOptions.html#repeatJobKey) ?: string;     [sizeLimit](v5.BaseJobOptions.html#sizeLimit) ?: number;     [stackTraceLimit](v5.BaseJobOptions.html#stackTraceLimit) ?: number;     [timestamp](v5.BaseJobOptions.html#timestamp) ?: number; } #### Hierarchy ([view full](../hierarchy.html#v5.BaseJobOptions) ) * [DefaultJobOptions](v5.DefaultJobOptions.html) * BaseJobOptions ##### Index ### Properties [attempts?](v5.BaseJobOptions.html#attempts) [backoff?](v5.BaseJobOptions.html#backoff) [delay?](v5.BaseJobOptions.html#delay) [jobId?](v5.BaseJobOptions.html#jobId) [keepLogs?](v5.BaseJobOptions.html#keepLogs) [lifo?](v5.BaseJobOptions.html#lifo) [parent?](v5.BaseJobOptions.html#parent) [prevMillis?](v5.BaseJobOptions.html#prevMillis) [priority?](v5.BaseJobOptions.html#priority) [removeOnComplete?](v5.BaseJobOptions.html#removeOnComplete) [removeOnFail?](v5.BaseJobOptions.html#removeOnFail) [repeat?](v5.BaseJobOptions.html#repeat) [repeatJobKey?](v5.BaseJobOptions.html#repeatJobKey) [sizeLimit?](v5.BaseJobOptions.html#sizeLimit) [stackTraceLimit?](v5.BaseJobOptions.html#stackTraceLimit) [timestamp?](v5.BaseJobOptions.html#timestamp) Properties ---------- ### `Optional` attempts[](#attempts) attempts?: number The total number of attempts to try the job until it completes. #### Default Value 0 ### `Optional` backoff[](#backoff) backoff?: number | [BackoffOptions](v5.BackoffOptions.html) Backoff setting for automatic retries if the job fails ### `Optional` delay[](#delay) delay?: number An amount of milliseconds to wait until this job can be processed. Note that for accurate delays, worker and producers should have their clocks synchronized. #### Default Value 0 ### `Optional` jobId[](#jobId) jobId?: string Override the job ID - by default, the job ID is a unique integer, but you can use this setting to override it. If you use this option, it is up to you to ensure the jobId is unique. If you attempt to add a job with an id that already exists, it will not be added. ### `Optional` keepLogs[](#keepLogs) keepLogs?: number Maximum amount of log entries that will be preserved ### `Optional` lifo[](#lifo) lifo?: boolean If true, adds the job to the right of the queue instead of the left (default false) #### See [https://docs.bullmq.io/guide/jobs/lifo](https://docs.bullmq.io/guide/jobs/lifo) ### `Optional` parent[](#parent) parent?: {     id: string;     queue: string; } #### Type declaration * ##### id: string * ##### queue: string It includes the prefix, the namespace separator :, and queue name. #### See [https://www.gnu.org/software/gawk/manual/html\_node/Qualified-Names.html](https://www.gnu.org/software/gawk/manual/html_node/Qualified-Names.html) ### `Optional` prevMillis[](#prevMillis) prevMillis?: number Internal property used by repeatable jobs. ### `Optional` priority[](#priority) priority?: number Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required. #### Default Value 0 ### `Optional` removeOnComplete[](#removeOnComplete) removeOnComplete?: number | boolean | [KeepJobs](v5.KeepJobs.html) If true, removes the job when it successfully completes When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the completed set. ### `Optional` removeOnFail[](#removeOnFail) removeOnFail?: number | boolean | [KeepJobs](v5.KeepJobs.html) If true, removes the job when it fails after all attempts. When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the failed set. ### `Optional` repeat[](#repeat) repeat?: [RepeatOptions](v5.RepeatOptions.html) Repeat this job, for example based on a `cron` schedule. ### `Optional` repeatJobKey[](#repeatJobKey) repeatJobKey?: string Internal property used by repeatable jobs to save base repeat job key. ### `Optional` sizeLimit[](#sizeLimit) sizeLimit?: number Limits the size in bytes of the job's data payload (as a JSON serialized string). ### `Optional` stackTraceLimit[](#stackTraceLimit) stackTraceLimit?: number Limits the amount of stack trace lines that will be recorded in the stacktrace. ### `Optional` timestamp[](#timestamp) timestamp?: number Timestamp when the job was created. #### Default Value Date.now() ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [attempts](#attempts) * [backoff](#backoff) * [delay](#delay) * [jobId](#jobId) * [keepLogs](#keepLogs) * [lifo](#lifo) * [parent](#parent) * [prevMillis](#prevMillis) * [priority](#priority) * [removeOnComplete](#removeOnComplete) * [removeOnFail](#removeOnFail) * [repeat](#repeat) * [repeatJobKey](#repeatJobKey) * [sizeLimit](#sizeLimit) * [stackTraceLimit](#stackTraceLimit) * [timestamp](#timestamp) Generated using [TypeDoc](https://typedoc.org/) --- # BaseOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BaseOptions](v5.BaseOptions.html) Interface BaseOptions ===================== interface BaseOptions {     [skipVersionCheck](v5.BaseOptions.html#skipVersionCheck) ?: boolean;     [url](v5.BaseOptions.html#url) ?: string; } ##### Index ### Properties [skipVersionCheck?](v5.BaseOptions.html#skipVersionCheck) [url?](v5.BaseOptions.html#url) Properties ---------- ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean ### `Optional` url[](#url) url?: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [skipVersionCheck](#skipVersionCheck) * [url](#url) Generated using [TypeDoc](https://typedoc.org/) --- # BuiltInStrategies | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BuiltInStrategies](v5.BuiltInStrategies.html) Interface BuiltInStrategies =========================== interface BuiltInStrategies {     \[index: string\]: ((delay) => [BackoffStrategy](../types/v5.BackoffStrategy.html) ); } #### Indexable \[index: string\]: ((delay) => [BackoffStrategy](../types/v5.BackoffStrategy.html) ) * * (delay): [BackoffStrategy](../types/v5.BackoffStrategy.html) * #### Parameters * delay: number #### Returns [BackoffStrategy](../types/v5.BackoffStrategy.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ChildMessage | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ChildMessage](v5.ChildMessage.html) Interface ChildMessage ====================== interface ChildMessage {     [cmd](v5.ChildMessage.html#cmd) : [ParentCommand](../enums/v5.ParentCommand.html) ;     [err](v5.ChildMessage.html#err) ?: Record;     [requestId](v5.ChildMessage.html#requestId) ?: string;     [value](v5.ChildMessage.html#value) ?: any; } ##### Index ### Properties [cmd](v5.ChildMessage.html#cmd) [err?](v5.ChildMessage.html#err) [requestId?](v5.ChildMessage.html#requestId) [value?](v5.ChildMessage.html#value) Properties ---------- ### cmd[](#cmd) cmd: [ParentCommand](../enums/v5.ParentCommand.html) ### `Optional` err[](#err) err?: Record ### `Optional` requestId[](#requestId) requestId?: string ### `Optional` value[](#value) value?: any ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [cmd](#cmd) * [err](#err) * [requestId](#requestId) * [value](#value) Generated using [TypeDoc](https://typedoc.org/) --- # ContextManager | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ContextManager](v5.ContextManager.html) Interface ContextManager ================================= Context manager interface The context manager is responsible for managing the context and propagating it across the application. interface ContextManager<[Context](v5.ContextManager.html#Context) \> {     [active](v5.ContextManager.html#active.active-1) (): [Context](v5.ContextManager.html#Context) ;     [fromMetadata](v5.ContextManager.html#fromMetadata.fromMetadata-1) (activeContext, metadata): [Context](v5.ContextManager.html#Context) ;     [getMetadata](v5.ContextManager.html#getMetadata.getMetadata-1) (context): string;     [with](v5.ContextManager.html#with.with-1) <[A](v5.ContextManager.html#with.with-1.A) \>(context, fn): ReturnType<[A](v5.ContextManager.html#with.with-1.A) \>; } #### Type Parameters * Context = any ##### Index ### Methods [active](v5.ContextManager.html#active) [fromMetadata](v5.ContextManager.html#fromMetadata) [getMetadata](v5.ContextManager.html#getMetadata) [with](v5.ContextManager.html#with) Methods ------- ### active[](#active) * active(): [Context](v5.ContextManager.html#Context) [](#active.active-1) * Returns the active context #### Returns [Context](v5.ContextManager.html#Context) ### fromMetadata[](#fromMetadata) * fromMetadata(activeContext, metadata): [Context](v5.ContextManager.html#Context) [](#fromMetadata.fromMetadata-1) * Creates a new context from a serialized version effectively linking the new context to the parent context. #### Parameters * activeContext: [Context](v5.ContextManager.html#Context) * metadata: string #### Returns [Context](v5.ContextManager.html#Context) ### getMetadata[](#getMetadata) * getMetadata(context): string[](#getMetadata.getMetadata-1) * Returns a serialized version of the current context. The metadata is the mechanism used to propagate the context across a distributed application. #### Parameters * context: [Context](v5.ContextManager.html#Context) #### Returns string ### with[](#with) * with<[A](v5.ContextManager.html#with.with-1.A) \>(context, fn): ReturnType<[A](v5.ContextManager.html#with.with-1.A) \>[](#with.with-1) * Creates a new context and sets it as active for the fn passed as last argument #### Type Parameters * A extends ((...args) => any) #### Parameters * context: [Context](v5.ContextManager.html#Context) * fn: [A](v5.ContextManager.html#with.with-1.A) #### Returns ReturnType<[A](v5.ContextManager.html#with.with-1.A) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [active](#active) * [fromMetadata](#fromMetadata) * [getMetadata](#getMetadata) * [with](#with) Generated using [TypeDoc](https://typedoc.org/) --- # DebounceOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DebounceOptions](v5.DebounceOptions.html) Interface DebounceOptions ========================= Debounce options interface DebounceOptions {     [id](v5.DebounceOptions.html#id) : string;     [ttl](v5.DebounceOptions.html#ttl) ?: number; } ##### Index ### Properties [id](v5.DebounceOptions.html#id) [ttl?](v5.DebounceOptions.html#ttl) Properties ---------- ### id[](#id) id: string Identifier ### `Optional` ttl[](#ttl) ttl?: number ttl in milliseconds ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [id](#id) * [ttl](#ttl) Generated using [TypeDoc](https://typedoc.org/) --- # DefaultJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DefaultJobOptions](v5.DefaultJobOptions.html) Interface DefaultJobOptions =========================== interface DefaultJobOptions {     [attempts](v5.DefaultJobOptions.html#attempts) ?: number;     [backoff](v5.DefaultJobOptions.html#backoff) ?: number | [BackoffOptions](v5.BackoffOptions.html) ;     [delay](v5.DefaultJobOptions.html#delay) ?: number;     [keepLogs](v5.DefaultJobOptions.html#keepLogs) ?: number;     [lifo](v5.DefaultJobOptions.html#lifo) ?: boolean;     [priority](v5.DefaultJobOptions.html#priority) ?: number;     [removeOnComplete](v5.DefaultJobOptions.html#removeOnComplete) ?: number | boolean | [KeepJobs](v5.KeepJobs.html) ;     [removeOnFail](v5.DefaultJobOptions.html#removeOnFail) ?: number | boolean | [KeepJobs](v5.KeepJobs.html) ;     [sizeLimit](v5.DefaultJobOptions.html#sizeLimit) ?: number;     [stackTraceLimit](v5.DefaultJobOptions.html#stackTraceLimit) ?: number;     [timestamp](v5.DefaultJobOptions.html#timestamp) ?: number; } #### Hierarchy ([view full](../hierarchy.html#v5.DefaultJobOptions) ) * DefaultJobOptions * [BaseJobOptions](v5.BaseJobOptions.html) ##### Index ### Properties [attempts?](v5.DefaultJobOptions.html#attempts) [backoff?](v5.DefaultJobOptions.html#backoff) [delay?](v5.DefaultJobOptions.html#delay) [keepLogs?](v5.DefaultJobOptions.html#keepLogs) [lifo?](v5.DefaultJobOptions.html#lifo) [priority?](v5.DefaultJobOptions.html#priority) [removeOnComplete?](v5.DefaultJobOptions.html#removeOnComplete) [removeOnFail?](v5.DefaultJobOptions.html#removeOnFail) [sizeLimit?](v5.DefaultJobOptions.html#sizeLimit) [stackTraceLimit?](v5.DefaultJobOptions.html#stackTraceLimit) [timestamp?](v5.DefaultJobOptions.html#timestamp) Properties ---------- ### `Optional` attempts[](#attempts) attempts?: number The total number of attempts to try the job until it completes. #### Default Value 0 ### `Optional` backoff[](#backoff) backoff?: number | [BackoffOptions](v5.BackoffOptions.html) Backoff setting for automatic retries if the job fails ### `Optional` delay[](#delay) delay?: number An amount of milliseconds to wait until this job can be processed. Note that for accurate delays, worker and producers should have their clocks synchronized. #### Default Value 0 ### `Optional` keepLogs[](#keepLogs) keepLogs?: number Maximum amount of log entries that will be preserved ### `Optional` lifo[](#lifo) lifo?: boolean If true, adds the job to the right of the queue instead of the left (default false) #### See [https://docs.bullmq.io/guide/jobs/lifo](https://docs.bullmq.io/guide/jobs/lifo) ### `Optional` priority[](#priority) priority?: number Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required. #### Default Value 0 ### `Optional` removeOnComplete[](#removeOnComplete) removeOnComplete?: number | boolean | [KeepJobs](v5.KeepJobs.html) If true, removes the job when it successfully completes When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the completed set. ### `Optional` removeOnFail[](#removeOnFail) removeOnFail?: number | boolean | [KeepJobs](v5.KeepJobs.html) If true, removes the job when it fails after all attempts. When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the failed set. ### `Optional` sizeLimit[](#sizeLimit) sizeLimit?: number Limits the size in bytes of the job's data payload (as a JSON serialized string). ### `Optional` stackTraceLimit[](#stackTraceLimit) stackTraceLimit?: number Limits the amount of stack trace lines that will be recorded in the stacktrace. ### `Optional` timestamp[](#timestamp) timestamp?: number Timestamp when the job was created. #### Default Value Date.now() ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [attempts](#attempts) * [backoff](#backoff) * [delay](#delay) * [keepLogs](#keepLogs) * [lifo](#lifo) * [priority](#priority) * [removeOnComplete](#removeOnComplete) * [removeOnFail](#removeOnFail) * [sizeLimit](#sizeLimit) * [stackTraceLimit](#stackTraceLimit) * [timestamp](#timestamp) Generated using [TypeDoc](https://typedoc.org/) --- # DependenciesOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DependenciesOpts](v5.DependenciesOpts.html) Interface DependenciesOpts ========================== interface DependenciesOpts {     [processed](v5.DependenciesOpts.html#processed) ?: {         count?: number;         cursor?: number;     };     [unprocessed](v5.DependenciesOpts.html#unprocessed) ?: {         count?: number;         cursor?: number;     }; } ##### Index ### Properties [processed?](v5.DependenciesOpts.html#processed) [unprocessed?](v5.DependenciesOpts.html#unprocessed) Properties ---------- ### `Optional` processed[](#processed) processed?: {     count?: number;     cursor?: number; } #### Type declaration * ##### `Optional` count?: number * ##### `Optional` cursor?: number ### `Optional` unprocessed[](#unprocessed) unprocessed?: {     count?: number;     cursor?: number; } #### Type declaration * ##### `Optional` count?: number * ##### `Optional` cursor?: number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [processed](#processed) * [unprocessed](#unprocessed) Generated using [TypeDoc](https://typedoc.org/) --- # FlowJobBase | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowJobBase](v5.FlowJobBase.html) Interface FlowJobBase ======================== interface FlowJobBase<[T](v5.FlowJobBase.html#T) \> {     [children](v5.FlowJobBase.html#children) ?: [FlowChildJob](../types/v5.FlowChildJob.html) \[\];     [data](v5.FlowJobBase.html#data) ?: any;     [name](v5.FlowJobBase.html#name) : string;     [opts](v5.FlowJobBase.html#opts) ?: Omit<[T](v5.FlowJobBase.html#T) , "repeat"\>;     [prefix](v5.FlowJobBase.html#prefix) ?: string;     [queueName](v5.FlowJobBase.html#queueName) : string; } #### Type Parameters * T ##### Index ### Properties [children?](v5.FlowJobBase.html#children) [data?](v5.FlowJobBase.html#data) [name](v5.FlowJobBase.html#name) [opts?](v5.FlowJobBase.html#opts) [prefix?](v5.FlowJobBase.html#prefix) [queueName](v5.FlowJobBase.html#queueName) Properties ---------- ### `Optional` children[](#children) children?: [FlowChildJob](../types/v5.FlowChildJob.html) \[\] ### `Optional` data[](#data) data?: any ### name[](#name) name: string ### `Optional` opts[](#opts) opts?: Omit<[T](v5.FlowJobBase.html#T) , "repeat"\> ### `Optional` prefix[](#prefix) prefix?: string ### queueName[](#queueName) queueName: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [children](#children) * [data](#data) * [name](#name) * [opts](#opts) * [prefix](#prefix) * [queueName](#queueName) Generated using [TypeDoc](https://typedoc.org/) --- # FlowOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowOpts](v5.FlowOpts.html) Interface FlowOpts ================== interface FlowOpts {     [queuesOptions](v5.FlowOpts.html#queuesOptions) : [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) ; } ##### Index ### Properties [queuesOptions](v5.FlowOpts.html#queuesOptions) Properties ---------- ### queuesOptions[](#queuesOptions) queuesOptions: [FlowQueuesOpts](../types/v5.FlowQueuesOpts.html) Map of options for Queue classes. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [queuesOptions](#queuesOptions) Generated using [TypeDoc](https://typedoc.org/) --- # FlowProducerListener | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowProducerListener](v5.FlowProducerListener.html) Interface FlowProducerListener ============================== interface FlowProducerListener {     [error](v5.FlowProducerListener.html#error) : ((failedReason) => void);     [ioredis:close](v5.FlowProducerListener.html#ioredis_close) : (() => void); } #### Hierarchy ([view full](../hierarchy.html#v5.FlowProducerListener) ) * [IoredisListener](v5.IoredisListener.html) * FlowProducerListener ##### Index ### Properties [error](v5.FlowProducerListener.html#error) [ioredis:close](v5.FlowProducerListener.html#ioredis_close) Properties ---------- ### error[](#error) error: ((failedReason) => void) Listen to 'error' event. This event is triggered when an error is throw. #### Type declaration * * (failedReason): void * Listen to 'error' event. This event is triggered when an error is throw. #### Parameters * failedReason: Error #### Returns void ### ioredis:close[](#ioredis_close) ioredis:close: (() => void) Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Type declaration * * (): void * Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [error](#error) * [ioredis:close](#ioredis_close) Generated using [TypeDoc](https://typedoc.org/) --- # GetNextJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [GetNextJobOptions](v5.GetNextJobOptions.html) Interface GetNextJobOptions =========================== interface GetNextJobOptions {     [block](v5.GetNextJobOptions.html#block) ?: boolean; } ##### Index ### Properties [block?](v5.GetNextJobOptions.html#block) Properties ---------- ### `Optional` block[](#block) block?: boolean ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [block](#block) Generated using [TypeDoc](https://typedoc.org/) --- # IConnection | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [IConnection](v5.IConnection.html) Interface IConnection ===================== interface IConnection {     [client](v5.IConnection.html#client) : Promise<[RedisClient](../types/v5.RedisClient.html) \>;     [waitUntilReady](v5.IConnection.html#waitUntilReady.waitUntilReady-1) (): Promise; } #### Hierarchy * EventEmitter * IConnection ##### Index ### Properties [client](v5.IConnection.html#client) ### Methods [waitUntilReady](v5.IConnection.html#waitUntilReady) Properties ---------- ### client[](#client) client: Promise<[RedisClient](../types/v5.RedisClient.html) \> Methods ------- ### waitUntilReady[](#waitUntilReady) * waitUntilReady(): Promise[](#waitUntilReady.waitUntilReady-1) * #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [client](#client) * [waitUntilReady](#waitUntilReady) Generated using [TypeDoc](https://typedoc.org/) --- # IoredisListener | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [IoredisListener](v5.IoredisListener.html) Interface IoredisListener ========================= interface IoredisListener {     [ioredis:close](v5.IoredisListener.html#ioredis_close) : (() => void); } #### Hierarchy ([view full](../hierarchy.html#v5.IoredisListener) ) * IoredisListener * [FlowProducerListener](v5.FlowProducerListener.html) * [QueueEventsListener](v5.QueueEventsListener.html) * [QueueListener](v5.QueueListener.html) * [WorkerListener](v5.WorkerListener.html) ##### Index ### Properties [ioredis:close](v5.IoredisListener.html#ioredis_close) Properties ---------- ### ioredis:close[](#ioredis_close) ioredis:close: (() => void) Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Type declaration * * (): void * Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [ioredis:close](#ioredis_close) Generated using [TypeDoc](https://typedoc.org/) --- # JobJson | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobJson](v5.JobJson.html) Interface JobJson ================= interface JobJson {     [attemptsMade](v5.JobJson.html#attemptsMade) : number;     [attemptsStarted](v5.JobJson.html#attemptsStarted) : number;     [data](v5.JobJson.html#data) : string;     [debounceId](v5.JobJson.html#debounceId) ?: string;     [deduplicationId](v5.JobJson.html#deduplicationId) ?: string;     [failedReason](v5.JobJson.html#failedReason) : string;     [finishedOn](v5.JobJson.html#finishedOn) ?: number;     [id](v5.JobJson.html#id) : string;     [name](v5.JobJson.html#name) : string;     [nextRepeatableJobKey](v5.JobJson.html#nextRepeatableJobKey) ?: string;     [opts](v5.JobJson.html#opts) : [RedisJobOptions](../types/v5.RedisJobOptions.html) ;     [parent](v5.JobJson.html#parent) ?: [ParentKeys](v5.ParentKeys.html) ;     [parentKey](v5.JobJson.html#parentKey) ?: string;     [processedBy](v5.JobJson.html#processedBy) ?: string;     [processedOn](v5.JobJson.html#processedOn) ?: number;     [progress](v5.JobJson.html#progress) : number | object;     [repeatJobKey](v5.JobJson.html#repeatJobKey) ?: string;     [returnvalue](v5.JobJson.html#returnvalue) : string;     [stacktrace](v5.JobJson.html#stacktrace) : string;     [timestamp](v5.JobJson.html#timestamp) : number; } ##### Index ### Properties [attemptsMade](v5.JobJson.html#attemptsMade) [attemptsStarted](v5.JobJson.html#attemptsStarted) [data](v5.JobJson.html#data) [debounceId?](v5.JobJson.html#debounceId) [deduplicationId?](v5.JobJson.html#deduplicationId) [failedReason](v5.JobJson.html#failedReason) [finishedOn?](v5.JobJson.html#finishedOn) [id](v5.JobJson.html#id) [name](v5.JobJson.html#name) [nextRepeatableJobKey?](v5.JobJson.html#nextRepeatableJobKey) [opts](v5.JobJson.html#opts) [parent?](v5.JobJson.html#parent) [parentKey?](v5.JobJson.html#parentKey) [processedBy?](v5.JobJson.html#processedBy) [processedOn?](v5.JobJson.html#processedOn) [progress](v5.JobJson.html#progress) [repeatJobKey?](v5.JobJson.html#repeatJobKey) [returnvalue](v5.JobJson.html#returnvalue) [stacktrace](v5.JobJson.html#stacktrace) [timestamp](v5.JobJson.html#timestamp) Properties ---------- ### attemptsMade[](#attemptsMade) attemptsMade: number ### attemptsStarted[](#attemptsStarted) attemptsStarted: number ### data[](#data) data: string ### `Optional` debounceId[](#debounceId) debounceId?: string ### `Optional` deduplicationId[](#deduplicationId) deduplicationId?: string ### failedReason[](#failedReason) failedReason: string ### `Optional` finishedOn[](#finishedOn) finishedOn?: number ### id[](#id) id: string ### name[](#name) name: string ### `Optional` nextRepeatableJobKey[](#nextRepeatableJobKey) nextRepeatableJobKey?: string ### opts[](#opts) opts: [RedisJobOptions](../types/v5.RedisJobOptions.html) ### `Optional` parent[](#parent) parent?: [ParentKeys](v5.ParentKeys.html) ### `Optional` parentKey[](#parentKey) parentKey?: string ### `Optional` processedBy[](#processedBy) processedBy?: string ### `Optional` processedOn[](#processedOn) processedOn?: number ### progress[](#progress) progress: number | object ### `Optional` repeatJobKey[](#repeatJobKey) repeatJobKey?: string ### returnvalue[](#returnvalue) returnvalue: string ### stacktrace[](#stacktrace) stacktrace: string ### timestamp[](#timestamp) timestamp: number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [attemptsMade](#attemptsMade) * [attemptsStarted](#attemptsStarted) * [data](#data) * [debounceId](#debounceId) * [deduplicationId](#deduplicationId) * [failedReason](#failedReason) * [finishedOn](#finishedOn) * [id](#id) * [name](#name) * [nextRepeatableJobKey](#nextRepeatableJobKey) * [opts](#opts) * [parent](#parent) * [parentKey](#parentKey) * [processedBy](#processedBy) * [processedOn](#processedOn) * [progress](#progress) * [repeatJobKey](#repeatJobKey) * [returnvalue](#returnvalue) * [stacktrace](#stacktrace) * [timestamp](#timestamp) Generated using [TypeDoc](https://typedoc.org/) --- # JobJsonRaw | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobJsonRaw](v5.JobJsonRaw.html) Interface JobJsonRaw ==================== interface JobJsonRaw {     [atm](v5.JobJsonRaw.html#atm) ?: string;     [ats](v5.JobJsonRaw.html#ats) ?: string;     [attemptsMade](v5.JobJsonRaw.html#attemptsMade) ?: string;     [data](v5.JobJsonRaw.html#data) : string;     [deid](v5.JobJsonRaw.html#deid) ?: string;     [delay](v5.JobJsonRaw.html#delay) : string;     [failedReason](v5.JobJsonRaw.html#failedReason) : string;     [finishedOn](v5.JobJsonRaw.html#finishedOn) ?: string;     [id](v5.JobJsonRaw.html#id) : string;     [name](v5.JobJsonRaw.html#name) : string;     [nrjid](v5.JobJsonRaw.html#nrjid) ?: string;     [opts](v5.JobJsonRaw.html#opts) : string;     [parent](v5.JobJsonRaw.html#parent) ?: string;     [parentKey](v5.JobJsonRaw.html#parentKey) ?: string;     [pb](v5.JobJsonRaw.html#pb) ?: string;     [priority](v5.JobJsonRaw.html#priority) : string;     [processedOn](v5.JobJsonRaw.html#processedOn) ?: string;     [progress](v5.JobJsonRaw.html#progress) : string;     [returnvalue](v5.JobJsonRaw.html#returnvalue) : string;     [rjk](v5.JobJsonRaw.html#rjk) ?: string;     [stacktrace](v5.JobJsonRaw.html#stacktrace) : string\[\];     [timestamp](v5.JobJsonRaw.html#timestamp) : string; } ##### Index ### Properties [atm?](v5.JobJsonRaw.html#atm) [ats?](v5.JobJsonRaw.html#ats) [attemptsMade?](v5.JobJsonRaw.html#attemptsMade) [data](v5.JobJsonRaw.html#data) [deid?](v5.JobJsonRaw.html#deid) [delay](v5.JobJsonRaw.html#delay) [failedReason](v5.JobJsonRaw.html#failedReason) [finishedOn?](v5.JobJsonRaw.html#finishedOn) [id](v5.JobJsonRaw.html#id) [name](v5.JobJsonRaw.html#name) [nrjid?](v5.JobJsonRaw.html#nrjid) [opts](v5.JobJsonRaw.html#opts) [parent?](v5.JobJsonRaw.html#parent) [parentKey?](v5.JobJsonRaw.html#parentKey) [pb?](v5.JobJsonRaw.html#pb) [priority](v5.JobJsonRaw.html#priority) [processedOn?](v5.JobJsonRaw.html#processedOn) [progress](v5.JobJsonRaw.html#progress) [returnvalue](v5.JobJsonRaw.html#returnvalue) [rjk?](v5.JobJsonRaw.html#rjk) [stacktrace](v5.JobJsonRaw.html#stacktrace) [timestamp](v5.JobJsonRaw.html#timestamp) Properties ---------- ### `Optional` atm[](#atm) atm?: string ### `Optional` ats[](#ats) ats?: string ### `Optional` attemptsMade[](#attemptsMade) attemptsMade?: string ### data[](#data) data: string ### `Optional` deid[](#deid) deid?: string ### delay[](#delay) delay: string ### failedReason[](#failedReason) failedReason: string ### `Optional` finishedOn[](#finishedOn) finishedOn?: string ### id[](#id) id: string ### name[](#name) name: string ### `Optional` nrjid[](#nrjid) nrjid?: string ### opts[](#opts) opts: string ### `Optional` parent[](#parent) parent?: string ### `Optional` parentKey[](#parentKey) parentKey?: string ### `Optional` pb[](#pb) pb?: string ### priority[](#priority) priority: string ### `Optional` processedOn[](#processedOn) processedOn?: string ### progress[](#progress) progress: string ### returnvalue[](#returnvalue) returnvalue: string ### `Optional` rjk[](#rjk) rjk?: string ### stacktrace[](#stacktrace) stacktrace: string\[\] ### timestamp[](#timestamp) timestamp: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [atm](#atm) * [ats](#ats) * [attemptsMade](#attemptsMade) * [data](#data) * [deid](#deid) * [delay](#delay) * [failedReason](#failedReason) * [finishedOn](#finishedOn) * [id](#id) * [name](#name) * [nrjid](#nrjid) * [opts](#opts) * [parent](#parent) * [parentKey](#parentKey) * [pb](#pb) * [priority](#priority) * [processedOn](#processedOn) * [progress](#progress) * [returnvalue](#returnvalue) * [rjk](#rjk) * [stacktrace](#stacktrace) * [timestamp](#timestamp) Generated using [TypeDoc](https://typedoc.org/) --- # JobNode | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobNode](v5.JobNode.html) Interface JobNode ================= interface JobNode {     [children](v5.JobNode.html#children) ?: [JobNode](v5.JobNode.html) \[\];     [job](v5.JobNode.html#job) : [Job](../classes/v5.Job.html) ; } ##### Index ### Properties [children?](v5.JobNode.html#children) [job](v5.JobNode.html#job) Properties ---------- ### `Optional` children[](#children) children?: [JobNode](v5.JobNode.html) \[\] ### job[](#job) job: [Job](../classes/v5.Job.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [children](#children) * [job](#job) Generated using [TypeDoc](https://typedoc.org/) --- # JobSchedulerJson | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobSchedulerJson](v5.JobSchedulerJson.html) Interface JobSchedulerJson ============================= interface JobSchedulerJson<[D](v5.JobSchedulerJson.html#D) \> {     [endDate](v5.JobSchedulerJson.html#endDate) ?: number;     [every](v5.JobSchedulerJson.html#every) ?: string;     [id](v5.JobSchedulerJson.html#id) ?: string;     [iterationCount](v5.JobSchedulerJson.html#iterationCount) ?: number;     [key](v5.JobSchedulerJson.html#key) : string;     [limit](v5.JobSchedulerJson.html#limit) ?: number;     [name](v5.JobSchedulerJson.html#name) : string;     [next](v5.JobSchedulerJson.html#next) ?: number;     [pattern](v5.JobSchedulerJson.html#pattern) ?: string;     [template](v5.JobSchedulerJson.html#template) ?: [JobSchedulerTemplateJson](v5.JobSchedulerTemplateJson.html) <[D](v5.JobSchedulerJson.html#D) \>;     [tz](v5.JobSchedulerJson.html#tz) ?: string; } #### Type Parameters * D = any ##### Index ### Properties [endDate?](v5.JobSchedulerJson.html#endDate) [every?](v5.JobSchedulerJson.html#every) [id?](v5.JobSchedulerJson.html#id) [iterationCount?](v5.JobSchedulerJson.html#iterationCount) [key](v5.JobSchedulerJson.html#key) [limit?](v5.JobSchedulerJson.html#limit) [name](v5.JobSchedulerJson.html#name) [next?](v5.JobSchedulerJson.html#next) [pattern?](v5.JobSchedulerJson.html#pattern) [template?](v5.JobSchedulerJson.html#template) [tz?](v5.JobSchedulerJson.html#tz) Properties ---------- ### `Optional` endDate[](#endDate) endDate?: number ### `Optional` every[](#every) every?: string ### `Optional` id[](#id) id?: string ### `Optional` iterationCount[](#iterationCount) iterationCount?: number ### key[](#key) key: string ### `Optional` limit[](#limit) limit?: number ### name[](#name) name: string ### `Optional` next[](#next) next?: number ### `Optional` pattern[](#pattern) pattern?: string ### `Optional` template[](#template) template?: [JobSchedulerTemplateJson](v5.JobSchedulerTemplateJson.html) <[D](v5.JobSchedulerJson.html#D) \> ### `Optional` tz[](#tz) tz?: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [endDate](#endDate) * [every](#every) * [id](#id) * [iterationCount](#iterationCount) * [key](#key) * [limit](#limit) * [name](#name) * [next](#next) * [pattern](#pattern) * [template](#template) * [tz](#tz) Generated using [TypeDoc](https://typedoc.org/) --- # JobSchedulerTemplateJson | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobSchedulerTemplateJson](v5.JobSchedulerTemplateJson.html) Interface JobSchedulerTemplateJson ===================================== interface JobSchedulerTemplateJson<[D](v5.JobSchedulerTemplateJson.html#D) \> {     [data](v5.JobSchedulerTemplateJson.html#data) ?: [D](v5.JobSchedulerTemplateJson.html#D) ;     [opts](v5.JobSchedulerTemplateJson.html#opts) ?: [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) ; } #### Type Parameters * D = any ##### Index ### Properties [data?](v5.JobSchedulerTemplateJson.html#data) [opts?](v5.JobSchedulerTemplateJson.html#opts) Properties ---------- ### `Optional` data[](#data) data?: [D](v5.JobSchedulerTemplateJson.html#D) ### `Optional` opts[](#opts) opts?: [JobSchedulerTemplateOptions](../types/v5.JobSchedulerTemplateOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [data](#data) * [opts](#opts) Generated using [TypeDoc](https://typedoc.org/) --- # KeepJobs | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [KeepJobs](v5.KeepJobs.html) Interface KeepJobs ================== KeepJobs Specify which jobs to keep after finishing. If both age and count are specified, then the jobs kept will be the ones that satisfies both properties. interface KeepJobs {     [age](v5.KeepJobs.html#age) ?: number;     [count](v5.KeepJobs.html#count) ?: number; } ##### Index ### Properties [age?](v5.KeepJobs.html#age) [count?](v5.KeepJobs.html#count) Properties ---------- ### `Optional` age[](#age) age?: number Maximum age in seconds for job to be kept. ### `Optional` count[](#count) count?: number Maximum count of jobs to be kept. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [age](#age) * [count](#count) Generated using [TypeDoc](https://typedoc.org/) --- # Metrics | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Metrics](v5.Metrics.html) Interface Metrics ================= interface Metrics {     [count](v5.Metrics.html#count) : number;     [data](v5.Metrics.html#data) : number\[\];     [meta](v5.Metrics.html#meta) : {         count: number;         prevCount: number;         prevTS: number;     }; } ##### Index ### Properties [count](v5.Metrics.html#count) [data](v5.Metrics.html#data) [meta](v5.Metrics.html#meta) Properties ---------- ### count[](#count) count: number ### data[](#data) data: number\[\] ### meta[](#meta) meta: {     count: number;     prevCount: number;     prevTS: number; } #### Type declaration * ##### count: number * ##### prevCount: number * ##### prevTS: number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [count](#count) * [data](#data) * [meta](#meta) Generated using [TypeDoc](https://typedoc.org/) --- # MetricsOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MetricsOptions](v5.MetricsOptions.html) Interface MetricsOptions ======================== interface MetricsOptions {     [maxDataPoints](v5.MetricsOptions.html#maxDataPoints) ?: number; } ##### Index ### Properties [maxDataPoints?](v5.MetricsOptions.html#maxDataPoints) Properties ---------- ### `Optional` maxDataPoints[](#maxDataPoints) maxDataPoints?: number Enable gathering metrics for finished jobs. Output refers to all finished jobs, completed or failed. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [maxDataPoints](#maxDataPoints) Generated using [TypeDoc](https://typedoc.org/) --- # MinimalJob | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MinimalJob](v5.MinimalJob.html) Interface MinimalJob ==================================================== MinimalJob interface MinimalJob<[DataType](v5.MinimalJob.html#DataType) , [ReturnType](v5.MinimalJob.html#ReturnType) , [NameType](v5.MinimalJob.html#NameType) \> {     [attemptsMade](v5.MinimalJob.html#attemptsMade) : number;     [data](v5.MinimalJob.html#data) : [DataType](v5.MinimalJob.html#DataType) ;     [delay](v5.MinimalJob.html#delay) : number;     [failedReason](v5.MinimalJob.html#failedReason) : string;     [finishedOn](v5.MinimalJob.html#finishedOn) ?: number;     [id](v5.MinimalJob.html#id) ?: string;     [name](v5.MinimalJob.html#name) : [NameType](v5.MinimalJob.html#NameType) ;     [opts](v5.MinimalJob.html#opts) : [JobsOptions](../types/v5.JobsOptions.html) ;     [parent](v5.MinimalJob.html#parent) ?: [ParentKeys](v5.ParentKeys.html) ;     [parentKey](v5.MinimalJob.html#parentKey) ?: string;     [processedOn](v5.MinimalJob.html#processedOn) ?: number;     [progress](v5.MinimalJob.html#progress) : number | object;     [repeatJobKey](v5.MinimalJob.html#repeatJobKey) ?: string;     [returnvalue](v5.MinimalJob.html#returnvalue) : [ReturnType](v5.MinimalJob.html#ReturnType) ;     [stacktrace](v5.MinimalJob.html#stacktrace) : string\[\];     [timestamp](v5.MinimalJob.html#timestamp) : number;     get [prefix](v5.MinimalJob.html#prefix.prefix-1) (): string;     get [queueName](v5.MinimalJob.html#queueName.queueName-1) (): string;     get [queueQualifiedName](v5.MinimalJob.html#queueQualifiedName.queueQualifiedName-1) (): string;     [asJSON](v5.MinimalJob.html#asJSON.asJSON-1) (): [JobJson](v5.JobJson.html) ;     [asJSONSandbox](v5.MinimalJob.html#asJSONSandbox.asJSONSandbox-1) (): [JobJsonSandbox](../types/v5.JobJsonSandbox.html) ;     [log](v5.MinimalJob.html#log.log-1) (logRow): Promise;     [updateData](v5.MinimalJob.html#updateData.updateData-1) (data): Promise;     [updateProgress](v5.MinimalJob.html#updateProgress.updateProgress-1) (progress): Promise; } #### Type Parameters * DataType = any * ReturnType = any * NameType extends string = string #### Implemented by * [Job](../classes/v5.Job.html) ##### Index ### Properties [attemptsMade](v5.MinimalJob.html#attemptsMade) [data](v5.MinimalJob.html#data) [delay](v5.MinimalJob.html#delay) [failedReason](v5.MinimalJob.html#failedReason) [finishedOn?](v5.MinimalJob.html#finishedOn) [id?](v5.MinimalJob.html#id) [name](v5.MinimalJob.html#name) [opts](v5.MinimalJob.html#opts) [parent?](v5.MinimalJob.html#parent) [parentKey?](v5.MinimalJob.html#parentKey) [processedOn?](v5.MinimalJob.html#processedOn) [progress](v5.MinimalJob.html#progress) [repeatJobKey?](v5.MinimalJob.html#repeatJobKey) [returnvalue](v5.MinimalJob.html#returnvalue) [stacktrace](v5.MinimalJob.html#stacktrace) [timestamp](v5.MinimalJob.html#timestamp) ### Accessors [prefix](v5.MinimalJob.html#prefix) [queueName](v5.MinimalJob.html#queueName) [queueQualifiedName](v5.MinimalJob.html#queueQualifiedName) ### Methods [asJSON](v5.MinimalJob.html#asJSON) [asJSONSandbox](v5.MinimalJob.html#asJSONSandbox) [log](v5.MinimalJob.html#log) [updateData](v5.MinimalJob.html#updateData) [updateProgress](v5.MinimalJob.html#updateProgress) Properties ---------- ### attemptsMade[](#attemptsMade) attemptsMade: number Number of attempts after the job has failed. #### Default Value 0 ### data[](#data) data: [DataType](v5.MinimalJob.html#DataType) The payload for this job. ### delay[](#delay) delay: number An amount of milliseconds to wait until this job can be processed. #### Default Value 0 ### failedReason[](#failedReason) failedReason: string Reason for failing. ### `Optional` finishedOn[](#finishedOn) finishedOn?: number Timestamp for when the job finished (completed or failed). ### `Optional` id[](#id) id?: string ### name[](#name) name: [NameType](v5.MinimalJob.html#NameType) The name of the Job ### opts[](#opts) opts: [JobsOptions](../types/v5.JobsOptions.html) The options object for this job. ### `Optional` parent[](#parent) parent?: [ParentKeys](v5.ParentKeys.html) Object that contains parentId (id) and parent queueKey. ### `Optional` parentKey[](#parentKey) parentKey?: string Fully qualified key (including the queue prefix) pointing to the parent of this job. ### `Optional` processedOn[](#processedOn) processedOn?: number Timestamp for when the job was processed. ### progress[](#progress) progress: number | object The progress a job has performed so far. #### Default Value 0 ### `Optional` repeatJobKey[](#repeatJobKey) repeatJobKey?: string Base repeat job key. ### returnvalue[](#returnvalue) returnvalue: [ReturnType](v5.MinimalJob.html#ReturnType) The value returned by the processor when processing this job. #### Default Value null ### stacktrace[](#stacktrace) stacktrace: string\[\] Stacktrace for the error (for failed jobs). #### Default Value null ### timestamp[](#timestamp) timestamp: number Timestamp when the job was created (unless overridden with job options). Accessors --------- ### prefix[](#prefix) * get prefix(): string * #### Returns string the prefix that is used. ### queueName[](#queueName) * get queueName(): string * #### Returns string ### queueQualifiedName[](#queueQualifiedName) * get queueQualifiedName(): string * #### Returns string it includes the prefix, the namespace separator :, and queue name. #### See [https://www.gnu.org/software/gawk/manual/html\_node/Qualified-Names.html](https://www.gnu.org/software/gawk/manual/html_node/Qualified-Names.html) Methods ------- ### asJSON[](#asJSON) * asJSON(): [JobJson](v5.JobJson.html) [](#asJSON.asJSON-1) * Prepares a job to be serialized for storage in Redis. #### Returns [JobJson](v5.JobJson.html) ### asJSONSandbox[](#asJSONSandbox) * asJSONSandbox(): [JobJsonSandbox](../types/v5.JobJsonSandbox.html) [](#asJSONSandbox.asJSONSandbox-1) * Prepares a job to be passed to Sandbox. #### Returns [JobJsonSandbox](../types/v5.JobJsonSandbox.html) ### log[](#log) * log(logRow): Promise[](#log.log-1) * Logs one row of log data. #### Parameters * logRow: string string with log data to be logged. #### Returns Promise ### updateData[](#updateData) * updateData(data): Promise[](#updateData.updateData-1) * Updates a job's data #### Parameters * data: [DataType](v5.MinimalJob.html#DataType) the data that will replace the current jobs data. #### Returns Promise ### updateProgress[](#updateProgress) * updateProgress(progress): Promise[](#updateProgress.updateProgress-1) * Updates a job's progress #### Parameters * progress: number | object number or object to be saved as progress. #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [attemptsMade](#attemptsMade) * [data](#data) * [delay](#delay) * [failedReason](#failedReason) * [finishedOn](#finishedOn) * [id](#id) * [name](#name) * [opts](#opts) * [parent](#parent) * [parentKey](#parentKey) * [processedOn](#processedOn) * [progress](#progress) * [repeatJobKey](#repeatJobKey) * [returnvalue](#returnvalue) * [stacktrace](#stacktrace) * [timestamp](#timestamp) * [prefix](#prefix) * [queueName](#queueName) * [queueQualifiedName](#queueQualifiedName) * [asJSON](#asJSON) * [asJSONSandbox](#asJSONSandbox) * [log](#log) * [updateData](#updateData) * [updateProgress](#updateProgress) Generated using [TypeDoc](https://typedoc.org/) --- # MoveToDelayedOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MoveToDelayedOpts](v5.MoveToDelayedOpts.html) Interface MoveToDelayedOpts =========================== interface MoveToDelayedOpts {     [fieldsToUpdate](v5.MoveToDelayedOpts.html#fieldsToUpdate) ?: Record;     [skipAttempt](v5.MoveToDelayedOpts.html#skipAttempt) ?: boolean; } ##### Index ### Properties [fieldsToUpdate?](v5.MoveToDelayedOpts.html#fieldsToUpdate) [skipAttempt?](v5.MoveToDelayedOpts.html#skipAttempt) Properties ---------- ### `Optional` fieldsToUpdate[](#fieldsToUpdate) fieldsToUpdate?: Record ### `Optional` skipAttempt[](#skipAttempt) skipAttempt?: boolean ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [fieldsToUpdate](#fieldsToUpdate) * [skipAttempt](#skipAttempt) Generated using [TypeDoc](https://typedoc.org/) --- # MoveToWaitingChildrenOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MoveToWaitingChildrenOpts](v5.MoveToWaitingChildrenOpts.html) Interface MoveToWaitingChildrenOpts =================================== interface MoveToWaitingChildrenOpts {     [child](v5.MoveToWaitingChildrenOpts.html#child) ?: {         id: string;         queue: string;     }; } ##### Index ### Properties [child?](v5.MoveToWaitingChildrenOpts.html#child) Properties ---------- ### `Optional` child[](#child) child?: {     id: string;     queue: string; } #### Type declaration * ##### id: string * ##### queue: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [child](#child) Generated using [TypeDoc](https://typedoc.org/) --- # NodeOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [NodeOpts](v5.NodeOpts.html) Interface NodeOpts ================== interface NodeOpts {     [depth](v5.NodeOpts.html#depth) ?: number;     [id](v5.NodeOpts.html#id) : string;     [maxChildren](v5.NodeOpts.html#maxChildren) ?: number;     [prefix](v5.NodeOpts.html#prefix) ?: string;     [queueName](v5.NodeOpts.html#queueName) : string; } ##### Index ### Properties [depth?](v5.NodeOpts.html#depth) [id](v5.NodeOpts.html#id) [maxChildren?](v5.NodeOpts.html#maxChildren) [prefix?](v5.NodeOpts.html#prefix) [queueName](v5.NodeOpts.html#queueName) Properties ---------- ### `Optional` depth[](#depth) depth?: number Maximum depth or levels to visit in the tree. ### id[](#id) id: string Root job id. ### `Optional` maxChildren[](#maxChildren) maxChildren?: number Maximum quantity of children per type (processed, unprocessed). ### `Optional` prefix[](#prefix) prefix?: string Prefix included in job key. ### queueName[](#queueName) queueName: string Root job queue name. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [depth](#depth) * [id](#id) * [maxChildren](#maxChildren) * [prefix](#prefix) * [queueName](#queueName) Generated using [TypeDoc](https://typedoc.org/) --- # ObliterateOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ObliterateOpts](v5.ObliterateOpts.html) Interface ObliterateOpts ======================== interface ObliterateOpts {     [count](v5.ObliterateOpts.html#count) ?: number;     [force](v5.ObliterateOpts.html#force) ?: boolean; } ##### Index ### Properties [count?](v5.ObliterateOpts.html#count) [force?](v5.ObliterateOpts.html#force) Properties ---------- ### `Optional` count[](#count) count?: number Use count with the maximum number of deleted keys per iteration #### Default Value 1000 ### `Optional` force[](#force) force?: boolean Use force = true to force obliteration even with active jobs in the queue #### Default Value false ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [count](#count) * [force](#force) Generated using [TypeDoc](https://typedoc.org/) --- # Parent | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Parent](v5.Parent.html) Interface Parent =================== Describes the parent for a Job. interface Parent<[T](v5.Parent.html#T) \> {     [data](v5.Parent.html#data) ?: [T](v5.Parent.html#T) ;     [name](v5.Parent.html#name) : string;     [opts](v5.Parent.html#opts) ?: [JobsOptions](../types/v5.JobsOptions.html) ;     [prefix](v5.Parent.html#prefix) ?: string;     [queue](v5.Parent.html#queue) ?: string; } #### Type Parameters * T ##### Index ### Properties [data?](v5.Parent.html#data) [name](v5.Parent.html#name) [opts?](v5.Parent.html#opts) [prefix?](v5.Parent.html#prefix) [queue?](v5.Parent.html#queue) Properties ---------- ### `Optional` data[](#data) data?: [T](v5.Parent.html#T) ### name[](#name) name: string ### `Optional` opts[](#opts) opts?: [JobsOptions](../types/v5.JobsOptions.html) ### `Optional` prefix[](#prefix) prefix?: string ### `Optional` queue[](#queue) queue?: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [data](#data) * [name](#name) * [opts](#opts) * [prefix](#prefix) * [queue](#queue) Generated using [TypeDoc](https://typedoc.org/) --- # ParentKeys | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ParentKeys](v5.ParentKeys.html) Interface ParentKeys ==================== interface ParentKeys {     [id](v5.ParentKeys.html#id) : string;     [queueKey](v5.ParentKeys.html#queueKey) : string; } ##### Index ### Properties [id](v5.ParentKeys.html#id) [queueKey](v5.ParentKeys.html#queueKey) Properties ---------- ### id[](#id) id: string ### queueKey[](#queueKey) queueKey: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [id](#id) * [queueKey](#queueKey) Generated using [TypeDoc](https://typedoc.org/) --- # ParentMessage | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ParentMessage](v5.ParentMessage.html) Interface ParentMessage ======================= interface ParentMessage {     [cmd](v5.ParentMessage.html#cmd) : [ChildCommand](../enums/v5.ChildCommand.html) ;     [err](v5.ParentMessage.html#err) ?: Error;     [job](v5.ParentMessage.html#job) ?: [JobJson](v5.JobJson.html) ;     [value](v5.ParentMessage.html#value) ?: any; } ##### Index ### Properties [cmd](v5.ParentMessage.html#cmd) [err?](v5.ParentMessage.html#err) [job?](v5.ParentMessage.html#job) [value?](v5.ParentMessage.html#value) Properties ---------- ### cmd[](#cmd) cmd: [ChildCommand](../enums/v5.ChildCommand.html) ### `Optional` err[](#err) err?: Error ### `Optional` job[](#job) job?: [JobJson](v5.JobJson.html) ### `Optional` value[](#value) value?: any ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [cmd](#cmd) * [err](#err) * [job](#job) * [value](#value) Generated using [TypeDoc](https://typedoc.org/) --- # QueueBaseOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueBaseOptions](v5.QueueBaseOptions.html) Interface QueueBaseOptions ========================== Base Queue options interface QueueBaseOptions {     [blockingConnection](v5.QueueBaseOptions.html#blockingConnection) ?: boolean;     [connection](v5.QueueBaseOptions.html#connection) : [ConnectionOptions](../types/v5.ConnectionOptions.html) ;     [prefix](v5.QueueBaseOptions.html#prefix) ?: string;     [skipVersionCheck](v5.QueueBaseOptions.html#skipVersionCheck) ?: boolean;     [skipWaitingForReady](v5.QueueBaseOptions.html#skipWaitingForReady) ?: boolean;     [telemetry](v5.QueueBaseOptions.html#telemetry) ?: [Telemetry](v5.Telemetry.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.QueueBaseOptions) ) * QueueBaseOptions * [QueueOptions](v5.QueueOptions.html) * [RepeatBaseOptions](v5.RepeatBaseOptions.html) * [QueueEventsOptions](v5.QueueEventsOptions.html) * [WorkerOptions](v5.WorkerOptions.html) ##### Index ### Properties [blockingConnection?](v5.QueueBaseOptions.html#blockingConnection) [connection](v5.QueueBaseOptions.html#connection) [prefix?](v5.QueueBaseOptions.html#prefix) [skipVersionCheck?](v5.QueueBaseOptions.html#skipVersionCheck) [skipWaitingForReady?](v5.QueueBaseOptions.html#skipWaitingForReady) [telemetry?](v5.QueueBaseOptions.html#telemetry) Properties ---------- ### `Optional` blockingConnection[](#blockingConnection) blockingConnection?: boolean Denotes commands should retry indefinitely. #### Deprecated ### connection[](#connection) connection: [ConnectionOptions](../types/v5.ConnectionOptions.html) Options for connecting to a Redis instance. ### `Optional` prefix[](#prefix) prefix?: string Prefix for all queue keys. ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean Avoid version validation to be greater or equal than v5.0.0. #### Default Value false ### `Optional` skipWaitingForReady[](#skipWaitingForReady) skipWaitingForReady?: boolean Skip waiting for connection ready. In some instances if you want the queue to fail fast if the connection is not ready you can set this to true. This could be useful for testing and when adding jobs via HTTP endpoints for example. ### `Optional` telemetry[](#telemetry) telemetry?: [Telemetry](v5.Telemetry.html) Telemetry client ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [blockingConnection](#blockingConnection) * [connection](#connection) * [prefix](#prefix) * [skipVersionCheck](#skipVersionCheck) * [skipWaitingForReady](#skipWaitingForReady) * [telemetry](#telemetry) Generated using [TypeDoc](https://typedoc.org/) --- # QueueEventsListener | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueEventsListener](v5.QueueEventsListener.html) Interface QueueEventsListener ============================= interface QueueEventsListener {     [active](v5.QueueEventsListener.html#active) : ((args, id) => void);     [added](v5.QueueEventsListener.html#added) : ((args, id) => void);     [cleaned](v5.QueueEventsListener.html#cleaned) : ((args, id) => void);     [completed](v5.QueueEventsListener.html#completed) : ((args, id) => void);     [debounced](v5.QueueEventsListener.html#debounced) : ((args, id) => void);     [deduplicated](v5.QueueEventsListener.html#deduplicated) : ((args, id) => void);     [delayed](v5.QueueEventsListener.html#delayed) : ((args, id) => void);     [drained](v5.QueueEventsListener.html#drained) : ((id) => void);     [duplicated](v5.QueueEventsListener.html#duplicated) : ((args, id) => void);     [error](v5.QueueEventsListener.html#error) : ((args) => void);     [failed](v5.QueueEventsListener.html#failed) : ((args, id) => void);     [ioredis:close](v5.QueueEventsListener.html#ioredis_close) : (() => void);     [paused](v5.QueueEventsListener.html#paused) : ((args, id) => void);     [progress](v5.QueueEventsListener.html#progress) : ((args, id) => void);     [removed](v5.QueueEventsListener.html#removed) : ((args, id) => void);     [resumed](v5.QueueEventsListener.html#resumed) : ((args, id) => void);     [retries-exhausted](v5.QueueEventsListener.html#retries_exhausted) : ((args, id) => void);     [stalled](v5.QueueEventsListener.html#stalled) : ((args, id) => void);     [waiting](v5.QueueEventsListener.html#waiting) : ((args, id) => void);     [waiting-children](v5.QueueEventsListener.html#waiting_children) : ((args, id) => void); } #### Hierarchy ([view full](../hierarchy.html#v5.QueueEventsListener) ) * [IoredisListener](v5.IoredisListener.html) * QueueEventsListener ##### Index ### Properties [active](v5.QueueEventsListener.html#active) [added](v5.QueueEventsListener.html#added) [cleaned](v5.QueueEventsListener.html#cleaned) [completed](v5.QueueEventsListener.html#completed) [debounced](v5.QueueEventsListener.html#debounced) [deduplicated](v5.QueueEventsListener.html#deduplicated) [delayed](v5.QueueEventsListener.html#delayed) [drained](v5.QueueEventsListener.html#drained) [duplicated](v5.QueueEventsListener.html#duplicated) [error](v5.QueueEventsListener.html#error) [failed](v5.QueueEventsListener.html#failed) [ioredis:close](v5.QueueEventsListener.html#ioredis_close) [paused](v5.QueueEventsListener.html#paused) [progress](v5.QueueEventsListener.html#progress) [removed](v5.QueueEventsListener.html#removed) [resumed](v5.QueueEventsListener.html#resumed) [retries-exhausted](v5.QueueEventsListener.html#retries_exhausted) [stalled](v5.QueueEventsListener.html#stalled) [waiting](v5.QueueEventsListener.html#waiting) [waiting-children](v5.QueueEventsListener.html#waiting_children) Properties ---------- ### active[](#active) active: ((args, id) => void) Listen to 'active' event. This event is triggered when a job enters the 'active' state. #### Type declaration * * (args, id): void * Listen to 'active' event. This event is triggered when a job enters the 'active' state. #### Parameters * args: {     jobId: string;     prev?: string; } * ##### jobId: string * ##### `Optional` prev?: string * id: string #### Returns void ### added[](#added) added: ((args, id) => void) Listen to 'added' event. This event is triggered when a job is created. #### Type declaration * * (args, id): void * Listen to 'added' event. This event is triggered when a job is created. #### Parameters * args: {     jobId: string;     name: string; } * ##### jobId: string * ##### name: string * id: string #### Returns void ### cleaned[](#cleaned) cleaned: ((args, id) => void) Listen to 'cleaned' event. This event is triggered when a cleaned method is triggered. #### Type declaration * * (args, id): void * Listen to 'cleaned' event. This event is triggered when a cleaned method is triggered. #### Parameters * args: {     count: string; } * ##### count: string * id: string #### Returns void ### completed[](#completed) completed: ((args, id) => void) Listen to 'completed' event. This event is triggered when a job has successfully completed. #### Type declaration * * (args, id): void * Listen to 'completed' event. This event is triggered when a job has successfully completed. #### Parameters * args: {     jobId: string;     prev?: string;     returnvalue: string; } * ##### jobId: string * ##### `Optional` prev?: string * ##### returnvalue: string * id: string #### Returns void ### debounced[](#debounced) debounced: ((args, id) => void) Listen to 'debounced' event. #### Type declaration * * (args, id): void * Listen to 'debounced' event. #### Parameters * args: {     debounceId: string;     jobId: string; } * ##### debounceId: string * ##### jobId: string * id: string #### Returns void #### Deprecated use deduplicated event This event is triggered when a job is debounced because debounceId still existed. #### Deprecated use deduplicated event This event is triggered when a job is debounced because debounceId still existed. ### deduplicated[](#deduplicated) deduplicated: ((args, id) => void) Listen to 'deduplicated' event. This event is triggered when a job is deduplicated because deduplicatedId still existed. #### Type declaration * * (args, id): void * Listen to 'deduplicated' event. This event is triggered when a job is deduplicated because deduplicatedId still existed. #### Parameters * args: {     deduplicationId: string;     jobId: string; } * ##### deduplicationId: string * ##### jobId: string * id: string #### Returns void ### delayed[](#delayed) delayed: ((args, id) => void) Listen to 'delayed' event. This event is triggered when a job is delayed. #### Type declaration * * (args, id): void * Listen to 'delayed' event. This event is triggered when a job is delayed. #### Parameters * args: {     delay: number;     jobId: string; } * ##### delay: number * ##### jobId: string * id: string #### Returns void ### drained[](#drained) drained: ((id) => void) Listen to 'drained' event. This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied. #### Type declaration * * (id): void * Listen to 'drained' event. This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied. #### Parameters * id: string #### Returns void ### duplicated[](#duplicated) duplicated: ((args, id) => void) Listen to 'duplicated' event. This event is triggered when a job is not created because it already exist. #### Type declaration * * (args, id): void * Listen to 'duplicated' event. This event is triggered when a job is not created because it already exist. #### Parameters * args: {     jobId: string; } * ##### jobId: string * id: string #### Returns void ### error[](#error) error: ((args) => void) Listen to 'error' event. This event is triggered when an exception is thrown. #### Type declaration * * (args): void * Listen to 'error' event. This event is triggered when an exception is thrown. #### Parameters * args: Error #### Returns void ### failed[](#failed) failed: ((args, id) => void) Listen to 'failed' event. This event is triggered when a job has thrown an exception. #### Type declaration * * (args, id): void * Listen to 'failed' event. This event is triggered when a job has thrown an exception. #### Parameters * args: {     failedReason: string;     jobId: string;     prev?: string; } * ##### failedReason: string * ##### jobId: string * ##### `Optional` prev?: string * id: string #### Returns void ### ioredis:close[](#ioredis_close) ioredis:close: (() => void) Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Type declaration * * (): void * Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Returns void ### paused[](#paused) paused: ((args, id) => void) Listen to 'paused' event. This event is triggered when a queue is paused. #### Type declaration * * (args, id): void * Listen to 'paused' event. This event is triggered when a queue is paused. #### Parameters * args: {} * id: string #### Returns void ### progress[](#progress) progress: ((args, id) => void) Listen to 'progress' event. This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world. #### Type declaration * * (args, id): void * Listen to 'progress' event. This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world. #### Parameters * args: {     data: number | object;     jobId: string; } * ##### data: number | object * ##### jobId: string * id: string #### Returns void ### removed[](#removed) removed: ((args, id) => void) Listen to 'removed' event. This event is triggered when a job has been manually removed from the queue. #### Type declaration * * (args, id): void * Listen to 'removed' event. This event is triggered when a job has been manually removed from the queue. #### Parameters * args: {     jobId: string;     prev: string; } * ##### jobId: string * ##### prev: string * id: string #### Returns void ### resumed[](#resumed) resumed: ((args, id) => void) Listen to 'resumed' event. This event is triggered when a queue is resumed. #### Type declaration * * (args, id): void * Listen to 'resumed' event. This event is triggered when a queue is resumed. #### Parameters * args: {} * id: string #### Returns void ### retries-exhausted[](#retries_exhausted) retries-exhausted: ((args, id) => void) Listen to 'retries-exhausted' event. This event is triggered when a job has retried the maximum attempts. #### Type declaration * * (args, id): void * Listen to 'retries-exhausted' event. This event is triggered when a job has retried the maximum attempts. #### Parameters * args: {     attemptsMade: string;     jobId: string; } * ##### attemptsMade: string * ##### jobId: string * id: string #### Returns void ### stalled[](#stalled) stalled: ((args, id) => void) Listen to 'stalled' event. This event is triggered when a job has been moved from 'active' back to 'waiting'/'failed' due to the processor not being able to renew the lock on the said job. #### Type declaration * * (args, id): void * Listen to 'stalled' event. This event is triggered when a job has been moved from 'active' back to 'waiting'/'failed' due to the processor not being able to renew the lock on the said job. #### Parameters * args: {     jobId: string; } * ##### jobId: string * id: string #### Returns void ### waiting[](#waiting) waiting: ((args, id) => void) Listen to 'waiting' event. This event is triggered when a job enters the 'waiting' state. #### Type declaration * * (args, id): void * Listen to 'waiting' event. This event is triggered when a job enters the 'waiting' state. #### Parameters * args: {     jobId: string;     prev?: string; } * ##### jobId: string * ##### `Optional` prev?: string * id: string #### Returns void ### waiting-children[](#waiting_children) waiting-children: ((args, id) => void) Listen to 'waiting-children' event. This event is triggered when a job enters the 'waiting-children' state. #### Type declaration * * (args, id): void * Listen to 'waiting-children' event. This event is triggered when a job enters the 'waiting-children' state. #### Parameters * args: {     jobId: string; } * ##### jobId: string * id: string #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [active](#active) * [added](#added) * [cleaned](#cleaned) * [completed](#completed) * [debounced](#debounced) * [deduplicated](#deduplicated) * [delayed](#delayed) * [drained](#drained) * [duplicated](#duplicated) * [error](#error) * [failed](#failed) * [ioredis:close](#ioredis_close) * [paused](#paused) * [progress](#progress) * [removed](#removed) * [resumed](#resumed) * [retries-exhausted](#retries_exhausted) * [stalled](#stalled) * [waiting](#waiting) * [waiting-children](#waiting_children) Generated using [TypeDoc](https://typedoc.org/) --- # QueueEventsOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueEventsOptions](v5.QueueEventsOptions.html) Interface QueueEventsOptions ============================ Options for QueueEvents interface QueueEventsOptions {     [autorun](v5.QueueEventsOptions.html#autorun) ?: boolean;     [blockingConnection](v5.QueueEventsOptions.html#blockingConnection) ?: boolean;     [blockingTimeout](v5.QueueEventsOptions.html#blockingTimeout) ?: number;     [connection](v5.QueueEventsOptions.html#connection) : [ConnectionOptions](../types/v5.ConnectionOptions.html) ;     [lastEventId](v5.QueueEventsOptions.html#lastEventId) ?: string;     [prefix](v5.QueueEventsOptions.html#prefix) ?: string;     [skipVersionCheck](v5.QueueEventsOptions.html#skipVersionCheck) ?: boolean;     [skipWaitingForReady](v5.QueueEventsOptions.html#skipWaitingForReady) ?: boolean;     [telemetry](v5.QueueEventsOptions.html#telemetry) ?: [Telemetry](v5.Telemetry.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.QueueEventsOptions) ) * [QueueBaseOptions](v5.QueueBaseOptions.html) * QueueEventsOptions ##### Index ### Properties [autorun?](v5.QueueEventsOptions.html#autorun) [blockingConnection?](v5.QueueEventsOptions.html#blockingConnection) [blockingTimeout?](v5.QueueEventsOptions.html#blockingTimeout) [connection](v5.QueueEventsOptions.html#connection) [lastEventId?](v5.QueueEventsOptions.html#lastEventId) [prefix?](v5.QueueEventsOptions.html#prefix) [skipVersionCheck?](v5.QueueEventsOptions.html#skipVersionCheck) [skipWaitingForReady?](v5.QueueEventsOptions.html#skipWaitingForReady) [telemetry?](v5.QueueEventsOptions.html#telemetry) Properties ---------- ### `Optional` autorun[](#autorun) autorun?: boolean Condition to start listening to events at instance creation. ### `Optional` blockingConnection[](#blockingConnection) blockingConnection?: boolean Denotes commands should retry indefinitely. #### Deprecated ### `Optional` blockingTimeout[](#blockingTimeout) blockingTimeout?: number Timeout for the blocking XREAD call to the events stream. ### connection[](#connection) connection: [ConnectionOptions](../types/v5.ConnectionOptions.html) Options for connecting to a Redis instance. ### `Optional` lastEventId[](#lastEventId) lastEventId?: string Last event Id. If provided it is possible to continue consuming events from a known Id instead of from the last produced event. ### `Optional` prefix[](#prefix) prefix?: string Prefix for all queue keys. ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean Avoid version validation to be greater or equal than v5.0.0. #### Default Value false ### `Optional` skipWaitingForReady[](#skipWaitingForReady) skipWaitingForReady?: boolean Skip waiting for connection ready. In some instances if you want the queue to fail fast if the connection is not ready you can set this to true. This could be useful for testing and when adding jobs via HTTP endpoints for example. ### `Optional` telemetry[](#telemetry) telemetry?: [Telemetry](v5.Telemetry.html) Telemetry client ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [autorun](#autorun) * [blockingConnection](#blockingConnection) * [blockingTimeout](#blockingTimeout) * [connection](#connection) * [lastEventId](#lastEventId) * [prefix](#prefix) * [skipVersionCheck](#skipVersionCheck) * [skipWaitingForReady](#skipWaitingForReady) * [telemetry](#telemetry) Generated using [TypeDoc](https://typedoc.org/) --- # QueueListener | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueListener](v5.QueueListener.html) Interface QueueListener ================================ interface QueueListener<[JobBase](v5.QueueListener.html#JobBase) \> {     [cleaned](v5.QueueListener.html#cleaned) : ((jobs, type) => void);     [error](v5.QueueListener.html#error) : ((err) => void);     [ioredis:close](v5.QueueListener.html#ioredis_close) : (() => void);     [paused](v5.QueueListener.html#paused) : (() => void);     [progress](v5.QueueListener.html#progress) : ((job, progress) => void);     [removed](v5.QueueListener.html#removed) : ((job) => void);     [resumed](v5.QueueListener.html#resumed) : (() => void);     [waiting](v5.QueueListener.html#waiting) : ((job) => void); } #### Type Parameters * JobBase extends [Job](../classes/v5.Job.html) = [Job](../classes/v5.Job.html) #### Hierarchy ([view full](../hierarchy.html#v5.QueueListener) ) * [IoredisListener](v5.IoredisListener.html) * QueueListener ##### Index ### Properties [cleaned](v5.QueueListener.html#cleaned) [error](v5.QueueListener.html#error) [ioredis:close](v5.QueueListener.html#ioredis_close) [paused](v5.QueueListener.html#paused) [progress](v5.QueueListener.html#progress) [removed](v5.QueueListener.html#removed) [resumed](v5.QueueListener.html#resumed) [waiting](v5.QueueListener.html#waiting) Properties ---------- ### cleaned[](#cleaned) cleaned: ((jobs, type) => void) Listen to 'cleaned' event. This event is triggered when the queue calls clean method. #### Type declaration * * (jobs, type): void * Listen to 'cleaned' event. This event is triggered when the queue calls clean method. #### Parameters * jobs: string\[\] * type: string #### Returns void ### error[](#error) error: ((err) => void) Listen to 'error' event. This event is triggered when an error is thrown. #### Type declaration * * (err): void * Listen to 'error' event. This event is triggered when an error is thrown. #### Parameters * err: Error #### Returns void ### ioredis:close[](#ioredis_close) ioredis:close: (() => void) Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Type declaration * * (): void * Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Returns void ### paused[](#paused) paused: (() => void) Listen to 'paused' event. This event is triggered when the queue is paused. #### Type declaration * * (): void * Listen to 'paused' event. This event is triggered when the queue is paused. #### Returns void ### progress[](#progress) progress: ((job, progress) => void) Listen to 'progress' event. This event is triggered when the job updates its progress. #### Type declaration * * (job, progress): void * Listen to 'progress' event. This event is triggered when the job updates its progress. #### Parameters * job: [JobBase](v5.QueueListener.html#JobBase) * progress: number | object #### Returns void ### removed[](#removed) removed: ((job) => void) Listen to 'removed' event. This event is triggered when a job is removed. #### Type declaration * * (job): void * Listen to 'removed' event. This event is triggered when a job is removed. #### Parameters * job: [JobBase](v5.QueueListener.html#JobBase) #### Returns void ### resumed[](#resumed) resumed: (() => void) Listen to 'resumed' event. This event is triggered when the queue is resumed. #### Type declaration * * (): void * Listen to 'resumed' event. This event is triggered when the queue is resumed. #### Returns void ### waiting[](#waiting) waiting: ((job) => void) Listen to 'waiting' event. This event is triggered when the queue creates a new job. #### Type declaration * * (job): void * Listen to 'waiting' event. This event is triggered when the queue creates a new job. #### Parameters * job: [JobBase](v5.QueueListener.html#JobBase) #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [cleaned](#cleaned) * [error](#error) * [ioredis:close](#ioredis_close) * [paused](#paused) * [progress](#progress) * [removed](#removed) * [resumed](#resumed) * [waiting](#waiting) Generated using [TypeDoc](https://typedoc.org/) --- # QueueOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QueueOptions](v5.QueueOptions.html) Interface QueueOptions ====================== Options for the Queue class. interface QueueOptions {     [blockingConnection](v5.QueueOptions.html#blockingConnection) ?: boolean;     [connection](v5.QueueOptions.html#connection) : [ConnectionOptions](../types/v5.ConnectionOptions.html) ;     [defaultJobOptions](v5.QueueOptions.html#defaultJobOptions) ?: [DefaultJobOptions](v5.DefaultJobOptions.html) ;     [prefix](v5.QueueOptions.html#prefix) ?: string;     [settings](v5.QueueOptions.html#settings) ?: [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) ;     [skipMetasUpdate](v5.QueueOptions.html#skipMetasUpdate) ?: boolean;     [skipVersionCheck](v5.QueueOptions.html#skipVersionCheck) ?: boolean;     [skipWaitingForReady](v5.QueueOptions.html#skipWaitingForReady) ?: boolean;     [streams](v5.QueueOptions.html#streams) ?: {         events: {             maxLen: number;         };     };     [telemetry](v5.QueueOptions.html#telemetry) ?: [Telemetry](v5.Telemetry.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.QueueOptions) ) * [QueueBaseOptions](v5.QueueBaseOptions.html) * QueueOptions ##### Index ### Properties [blockingConnection?](v5.QueueOptions.html#blockingConnection) [connection](v5.QueueOptions.html#connection) [defaultJobOptions?](v5.QueueOptions.html#defaultJobOptions) [prefix?](v5.QueueOptions.html#prefix) [settings?](v5.QueueOptions.html#settings) [skipMetasUpdate?](v5.QueueOptions.html#skipMetasUpdate) [skipVersionCheck?](v5.QueueOptions.html#skipVersionCheck) [skipWaitingForReady?](v5.QueueOptions.html#skipWaitingForReady) [streams?](v5.QueueOptions.html#streams) [telemetry?](v5.QueueOptions.html#telemetry) Properties ---------- ### `Optional` blockingConnection[](#blockingConnection) blockingConnection?: boolean Denotes commands should retry indefinitely. #### Deprecated ### connection[](#connection) connection: [ConnectionOptions](../types/v5.ConnectionOptions.html) Options for connecting to a Redis instance. ### `Optional` defaultJobOptions[](#defaultJobOptions) defaultJobOptions?: [DefaultJobOptions](v5.DefaultJobOptions.html) ### `Optional` prefix[](#prefix) prefix?: string Prefix for all queue keys. ### `Optional` settings[](#settings) settings?: [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) Advanced options for the repeatable jobs. ### `Optional` skipMetasUpdate[](#skipMetasUpdate) skipMetasUpdate?: boolean Skip Meta update. If true, the queue will not update the metadata of the queue. Useful for read-only systems that do should not update the metadata. #### Default Value false ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean Avoid version validation to be greater or equal than v5.0.0. #### Default Value false ### `Optional` skipWaitingForReady[](#skipWaitingForReady) skipWaitingForReady?: boolean Skip waiting for connection ready. In some instances if you want the queue to fail fast if the connection is not ready you can set this to true. This could be useful for testing and when adding jobs via HTTP endpoints for example. ### `Optional` streams[](#streams) streams?: {     events: {         maxLen: number;     }; } Options for the streams used internally in BullMQ. #### Type declaration * ##### events: {     maxLen: number; } Options for the events stream. * ##### maxLen: number Max approximated length for streams. Default is 10 000 events. ### `Optional` telemetry[](#telemetry) telemetry?: [Telemetry](v5.Telemetry.html) Telemetry client ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [blockingConnection](#blockingConnection) * [connection](#connection) * [defaultJobOptions](#defaultJobOptions) * [prefix](#prefix) * [settings](#settings) * [skipMetasUpdate](#skipMetasUpdate) * [skipVersionCheck](#skipVersionCheck) * [skipWaitingForReady](#skipWaitingForReady) * [streams](#streams) * [telemetry](#telemetry) Generated using [TypeDoc](https://typedoc.org/) --- # RateLimiterOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RateLimiterOptions](v5.RateLimiterOptions.html) Interface RateLimiterOptions ============================ interface RateLimiterOptions {     [duration](v5.RateLimiterOptions.html#duration) : number;     [max](v5.RateLimiterOptions.html#max) : number; } ##### Index ### Properties [duration](v5.RateLimiterOptions.html#duration) [max](v5.RateLimiterOptions.html#max) Properties ---------- ### duration[](#duration) duration: number Time in milliseconds. During this time, a maximum of `max` jobs will be processed. ### max[](#max) max: number Max number of jobs to process in the time period specified in `duration`. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [duration](#duration) * [max](#max) Generated using [TypeDoc](https://typedoc.org/) --- # RawCommand | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RawCommand](v5.RawCommand.html) Interface RawCommand ==================== interface RawCommand {     [content](v5.RawCommand.html#content) : string;     [keys](v5.RawCommand.html#keys) : number;     [name](v5.RawCommand.html#name) : string; } ##### Index ### Properties [content](v5.RawCommand.html#content) [keys](v5.RawCommand.html#keys) [name](v5.RawCommand.html#name) Properties ---------- ### content[](#content) content: string ### keys[](#keys) keys: number ### name[](#name) name: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [content](#content) * [keys](#keys) * [name](#name) Generated using [TypeDoc](https://typedoc.org/) --- # Receiver | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Receiver](v5.Receiver.html) Interface Receiver ================== interface Receiver {     [off](v5.Receiver.html#off) : ((evt, cb) => void);     [on](v5.Receiver.html#on) : ((evt, cb) => void); } ##### Index ### Properties [off](v5.Receiver.html#off) [on](v5.Receiver.html#on) Properties ---------- ### off[](#off) off: ((evt, cb) => void) #### Type declaration * * (evt, cb): void * #### Parameters * evt: "message" * cb: ((msg) => void) * * (msg): void * #### Parameters * msg: any #### Returns void #### Returns void ### on[](#on) on: ((evt, cb) => void) #### Type declaration * * (evt, cb): void * #### Parameters * evt: "message" * cb: ((msg) => void) * * (msg): void * #### Parameters * msg: any #### Returns void #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [off](#off) * [on](#on) Generated using [TypeDoc](https://typedoc.org/) --- # RepeatOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RepeatOptions](v5.RepeatOptions.html) Interface RepeatOptions ======================= Settings for repeatable jobs #### See [https://docs.bullmq.io/guide/jobs/repeatable](https://docs.bullmq.io/guide/jobs/repeatable) interface RepeatOptions {     [count](v5.RepeatOptions.html#count) ?: number;     [every](v5.RepeatOptions.html#every) ?: number;     [immediately](v5.RepeatOptions.html#immediately) ?: boolean;     [jobId](v5.RepeatOptions.html#jobId) ?: string;     [key](v5.RepeatOptions.html#key) ?: string;     [limit](v5.RepeatOptions.html#limit) ?: number;     [offset](v5.RepeatOptions.html#offset) ?: number;     [pattern](v5.RepeatOptions.html#pattern) ?: string;     [prevMillis](v5.RepeatOptions.html#prevMillis) ?: number; } #### Hierarchy * Omit * RepeatOptions ##### Index ### Properties [count?](v5.RepeatOptions.html#count) [every?](v5.RepeatOptions.html#every) [immediately?](v5.RepeatOptions.html#immediately) [jobId?](v5.RepeatOptions.html#jobId) [key?](v5.RepeatOptions.html#key) [limit?](v5.RepeatOptions.html#limit) [offset?](v5.RepeatOptions.html#offset) [pattern?](v5.RepeatOptions.html#pattern) [prevMillis?](v5.RepeatOptions.html#prevMillis) Properties ---------- ### `Optional` count[](#count) count?: number The start value for the repeat iteration count. ### `Optional` every[](#every) every?: number Repeat after this amount of milliseconds (`pattern` setting cannot be used together with this setting.) ### `Optional` immediately[](#immediately) immediately?: boolean Repeated job should start right now ( work only with cron settings) ### `Optional` jobId[](#jobId) jobId?: string Internal property to store de job id #### Deprecated ### `Optional` key[](#key) key?: string Custom repeatable key. This is the key that holds the "metadata" of a given repeatable job. This key is normally auto-generated but it is sometimes useful to specify a custom key for easier retrieval of repeatable jobs. ### `Optional` limit[](#limit) limit?: number Number of times the job should repeat at max. ### `Optional` offset[](#offset) offset?: number Offset in milliseconds to affect the next iteration time ### `Optional` pattern[](#pattern) pattern?: string A repeat pattern ### `Optional` prevMillis[](#prevMillis) prevMillis?: number Internal property to store the previous time the job was executed. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [count](#count) * [every](#every) * [immediately](#immediately) * [jobId](#jobId) * [key](#key) * [limit](#limit) * [offset](#offset) * [pattern](#pattern) * [prevMillis](#prevMillis) Generated using [TypeDoc](https://typedoc.org/) --- # SandboxedOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [SandboxedOptions](v5.SandboxedOptions.html) Interface SandboxedOptions ========================== interface SandboxedOptions {     [useWorkerThreads](v5.SandboxedOptions.html#useWorkerThreads) ?: boolean;     [workerForkOptions](v5.SandboxedOptions.html#workerForkOptions) ?: ForkOptions;     [workerThreadsOptions](v5.SandboxedOptions.html#workerThreadsOptions) ?: WorkerOptions; } #### Hierarchy ([view full](../hierarchy.html#v5.SandboxedOptions) ) * SandboxedOptions * [WorkerOptions](v5.WorkerOptions.html) ##### Index ### Properties [useWorkerThreads?](v5.SandboxedOptions.html#useWorkerThreads) [workerForkOptions?](v5.SandboxedOptions.html#workerForkOptions) [workerThreadsOptions?](v5.SandboxedOptions.html#workerThreadsOptions) Properties ---------- ### `Optional` useWorkerThreads[](#useWorkerThreads) useWorkerThreads?: boolean Use Worker Threads instead of Child Processes. Note: This option can only be used when specifying a file for the processor argument. #### Default false ### `Optional` workerForkOptions[](#workerForkOptions) workerForkOptions?: ForkOptions Support passing Worker Fork Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as false (default value). #### See [https://nodejs.org/api/child\_process.html#child\_processforkmodulepath-args-options](https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options) ### `Optional` workerThreadsOptions[](#workerThreadsOptions) workerThreadsOptions?: WorkerOptions Support passing Worker Threads Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as true. #### See [https://nodejs.org/api/worker\_threads.html#new-workerfilename-options](https://nodejs.org/api/worker_threads.html#new-workerfilename-options) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [useWorkerThreads](#useWorkerThreads) * [workerForkOptions](#workerForkOptions) * [workerThreadsOptions](#workerThreadsOptions) Generated using [TypeDoc](https://typedoc.org/) --- # RepeatBaseOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RepeatBaseOptions](v5.RepeatBaseOptions.html) Interface RepeatBaseOptions =========================== Options for the Repeat class. interface RepeatBaseOptions {     [blockingConnection](v5.RepeatBaseOptions.html#blockingConnection) ?: boolean;     [connection](v5.RepeatBaseOptions.html#connection) : [ConnectionOptions](../types/v5.ConnectionOptions.html) ;     [prefix](v5.RepeatBaseOptions.html#prefix) ?: string;     [settings](v5.RepeatBaseOptions.html#settings) ?: [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) ;     [skipVersionCheck](v5.RepeatBaseOptions.html#skipVersionCheck) ?: boolean;     [skipWaitingForReady](v5.RepeatBaseOptions.html#skipWaitingForReady) ?: boolean;     [telemetry](v5.RepeatBaseOptions.html#telemetry) ?: [Telemetry](v5.Telemetry.html) ; } #### Hierarchy ([view full](../hierarchy.html#v5.RepeatBaseOptions) ) * [QueueBaseOptions](v5.QueueBaseOptions.html) * RepeatBaseOptions ##### Index ### Properties [blockingConnection?](v5.RepeatBaseOptions.html#blockingConnection) [connection](v5.RepeatBaseOptions.html#connection) [prefix?](v5.RepeatBaseOptions.html#prefix) [settings?](v5.RepeatBaseOptions.html#settings) [skipVersionCheck?](v5.RepeatBaseOptions.html#skipVersionCheck) [skipWaitingForReady?](v5.RepeatBaseOptions.html#skipWaitingForReady) [telemetry?](v5.RepeatBaseOptions.html#telemetry) Properties ---------- ### `Optional` blockingConnection[](#blockingConnection) blockingConnection?: boolean Denotes commands should retry indefinitely. #### Deprecated ### connection[](#connection) connection: [ConnectionOptions](../types/v5.ConnectionOptions.html) Options for connecting to a Redis instance. ### `Optional` prefix[](#prefix) prefix?: string Prefix for all queue keys. ### `Optional` settings[](#settings) settings?: [AdvancedRepeatOptions](v5.AdvancedRepeatOptions.html) ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean Avoid version validation to be greater or equal than v5.0.0. #### Default Value false ### `Optional` skipWaitingForReady[](#skipWaitingForReady) skipWaitingForReady?: boolean Skip waiting for connection ready. In some instances if you want the queue to fail fast if the connection is not ready you can set this to true. This could be useful for testing and when adding jobs via HTTP endpoints for example. ### `Optional` telemetry[](#telemetry) telemetry?: [Telemetry](v5.Telemetry.html) Telemetry client ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [blockingConnection](#blockingConnection) * [connection](#connection) * [prefix](#prefix) * [settings](#settings) * [skipVersionCheck](#skipVersionCheck) * [skipWaitingForReady](#skipWaitingForReady) * [telemetry](#telemetry) Generated using [TypeDoc](https://typedoc.org/) --- # Span | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Span](v5.Span.html) Interface Span ======================= Span interface interface Span<[Context](v5.Span.html#Context) \> {     [addEvent](v5.Span.html#addEvent.addEvent-1) (name, attributes?): void;     [end](v5.Span.html#end.end-1) (): void;     [recordException](v5.Span.html#recordException.recordException-1) (exception, time?): void;     [setAttribute](v5.Span.html#setAttribute.setAttribute-1) (key, value): void;     [setAttributes](v5.Span.html#setAttributes.setAttributes-1) (attributes): void;     [setSpanOnContext](v5.Span.html#setSpanOnContext.setSpanOnContext-1) (ctx): [Context](v5.Span.html#Context) ; } #### Type Parameters * Context = any ##### Index ### Methods [addEvent](v5.Span.html#addEvent) [end](v5.Span.html#end) [recordException](v5.Span.html#recordException) [setAttribute](v5.Span.html#setAttribute) [setAttributes](v5.Span.html#setAttributes) [setSpanOnContext](v5.Span.html#setSpanOnContext) Methods ------- ### addEvent[](#addEvent) * addEvent(name, attributes?): void[](#addEvent.addEvent-1) * addEvent adds an event to the span. #### Parameters * name: string * `Optional` attributes: [Attributes](v5.Attributes.html) #### Returns void ### end[](#end) * end(): void[](#end.end-1) * end ends the span. Note: spans must be ended so that they can be exported. #### Returns void ### recordException[](#recordException) * recordException(exception, time?): void[](#recordException.recordException-1) * recordException records an exception on the span. #### Parameters * exception: [Exception](../types/v5.Exception.html) * `Optional` time: [Time](../types/v5.Time.html) #### Returns void ### setAttribute[](#setAttribute) * setAttribute(key, value): void[](#setAttribute.setAttribute-1) * setAttribute sets an attribute on the span. #### Parameters * key: string * value: [AttributeValue](../types/v5.AttributeValue.html) #### Returns void ### setAttributes[](#setAttributes) * setAttributes(attributes): void[](#setAttributes.setAttributes-1) * setAttributes sets multiple attributes on the span. #### Parameters * attributes: [Attributes](v5.Attributes.html) #### Returns void ### setSpanOnContext[](#setSpanOnContext) * setSpanOnContext(ctx): [Context](v5.Span.html#Context) [](#setSpanOnContext.setSpanOnContext-1) * setSpanOnContext sets the span on the context. This is useful when you want to propagate the span across the application. #### Parameters * ctx: [Context](v5.Span.html#Context) #### Returns [Context](v5.Span.html#Context) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [addEvent](#addEvent) * [end](#end) * [recordException](#recordException) * [setAttribute](#setAttribute) * [setAttributes](#setAttributes) * [setSpanOnContext](#setSpanOnContext) Generated using [TypeDoc](https://typedoc.org/) --- # SandboxedJob | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [SandboxedJob](v5.SandboxedJob.html) Interface SandboxedJob ============================ #### See [https://docs.bullmq.io/guide/workers/sandboxed-processors](https://docs.bullmq.io/guide/workers/sandboxed-processors) interface SandboxedJob<[T](v5.SandboxedJob.html#T) , [R](v5.SandboxedJob.html#R) \> {     [attemptsMade](v5.SandboxedJob.html#attemptsMade) : number;     [attemptsStarted](v5.SandboxedJob.html#attemptsStarted) : number;     [data](v5.SandboxedJob.html#data) : [T](v5.SandboxedJob.html#T) ;     [debounceId](v5.SandboxedJob.html#debounceId) ?: string;     [deduplicationId](v5.SandboxedJob.html#deduplicationId) ?: string;     [failedReason](v5.SandboxedJob.html#failedReason) : string;     [finishedOn](v5.SandboxedJob.html#finishedOn) ?: number;     [id](v5.SandboxedJob.html#id) : string;     [log](v5.SandboxedJob.html#log) : ((row) => void);     [moveToDelayed](v5.SandboxedJob.html#moveToDelayed) : ((timestamp, token?) => Promise);     [name](v5.SandboxedJob.html#name) : string;     [nextRepeatableJobKey](v5.SandboxedJob.html#nextRepeatableJobKey) ?: string;     [opts](v5.SandboxedJob.html#opts) : [JobsOptions](../types/v5.JobsOptions.html) ;     [parent](v5.SandboxedJob.html#parent) ?: [ParentKeys](v5.ParentKeys.html) ;     [parentKey](v5.SandboxedJob.html#parentKey) ?: string;     [prefix](v5.SandboxedJob.html#prefix) : string;     [processedBy](v5.SandboxedJob.html#processedBy) ?: string;     [processedOn](v5.SandboxedJob.html#processedOn) ?: number;     [progress](v5.SandboxedJob.html#progress) : number | object;     [queueName](v5.SandboxedJob.html#queueName) : string;     [repeatJobKey](v5.SandboxedJob.html#repeatJobKey) ?: string;     [returnValue](v5.SandboxedJob.html#returnValue) : [R](v5.SandboxedJob.html#R) ;     [returnvalue](v5.SandboxedJob.html#returnvalue-1) : string;     [stacktrace](v5.SandboxedJob.html#stacktrace) : string;     [timestamp](v5.SandboxedJob.html#timestamp) : number;     [updateData](v5.SandboxedJob.html#updateData) : ((data) => Promise);     [updateProgress](v5.SandboxedJob.html#updateProgress) : ((value) => Promise); } #### Type Parameters * T = any * R = any #### Hierarchy * Omit<[JobJsonSandbox](../types/v5.JobJsonSandbox.html) , "data" | "opts" | "returnValue"\> * SandboxedJob ##### Index ### Properties [attemptsMade](v5.SandboxedJob.html#attemptsMade) [attemptsStarted](v5.SandboxedJob.html#attemptsStarted) [data](v5.SandboxedJob.html#data) [debounceId?](v5.SandboxedJob.html#debounceId) [deduplicationId?](v5.SandboxedJob.html#deduplicationId) [failedReason](v5.SandboxedJob.html#failedReason) [finishedOn?](v5.SandboxedJob.html#finishedOn) [id](v5.SandboxedJob.html#id) [log](v5.SandboxedJob.html#log) [moveToDelayed](v5.SandboxedJob.html#moveToDelayed) [name](v5.SandboxedJob.html#name) [nextRepeatableJobKey?](v5.SandboxedJob.html#nextRepeatableJobKey) [opts](v5.SandboxedJob.html#opts) [parent?](v5.SandboxedJob.html#parent) [parentKey?](v5.SandboxedJob.html#parentKey) [prefix](v5.SandboxedJob.html#prefix) [processedBy?](v5.SandboxedJob.html#processedBy) [processedOn?](v5.SandboxedJob.html#processedOn) [progress](v5.SandboxedJob.html#progress) [queueName](v5.SandboxedJob.html#queueName) [repeatJobKey?](v5.SandboxedJob.html#repeatJobKey) [returnValue](v5.SandboxedJob.html#returnValue) [returnvalue](v5.SandboxedJob.html#returnvalue-1) [stacktrace](v5.SandboxedJob.html#stacktrace) [timestamp](v5.SandboxedJob.html#timestamp) [updateData](v5.SandboxedJob.html#updateData) [updateProgress](v5.SandboxedJob.html#updateProgress) Properties ---------- ### attemptsMade[](#attemptsMade) attemptsMade: number ### attemptsStarted[](#attemptsStarted) attemptsStarted: number ### data[](#data) data: [T](v5.SandboxedJob.html#T) ### `Optional` debounceId[](#debounceId) debounceId?: string ### `Optional` deduplicationId[](#deduplicationId) deduplicationId?: string ### failedReason[](#failedReason) failedReason: string ### `Optional` finishedOn[](#finishedOn) finishedOn?: number ### id[](#id) id: string ### log[](#log) log: ((row) => void) #### Type declaration * * (row): void * #### Parameters * row: any #### Returns void ### moveToDelayed[](#moveToDelayed) moveToDelayed: ((timestamp, token?) => Promise) #### Type declaration * * (timestamp, token?): Promise * #### Parameters * timestamp: number * `Optional` token: string #### Returns Promise ### name[](#name) name: string ### `Optional` nextRepeatableJobKey[](#nextRepeatableJobKey) nextRepeatableJobKey?: string ### opts[](#opts) opts: [JobsOptions](../types/v5.JobsOptions.html) ### `Optional` parent[](#parent) parent?: [ParentKeys](v5.ParentKeys.html) ### `Optional` parentKey[](#parentKey) parentKey?: string ### prefix[](#prefix) prefix: string ### `Optional` processedBy[](#processedBy) processedBy?: string ### `Optional` processedOn[](#processedOn) processedOn?: number ### progress[](#progress) progress: number | object ### queueName[](#queueName) queueName: string ### `Optional` repeatJobKey[](#repeatJobKey) repeatJobKey?: string ### returnValue[](#returnValue) returnValue: [R](v5.SandboxedJob.html#R) ### returnvalue[](#returnvalue-1) returnvalue: string ### stacktrace[](#stacktrace) stacktrace: string ### timestamp[](#timestamp) timestamp: number ### updateData[](#updateData) updateData: ((data) => Promise) #### Type declaration * * (data): Promise * #### Parameters * data: any #### Returns Promise ### updateProgress[](#updateProgress) updateProgress: ((value) => Promise) #### Type declaration * * (value): Promise * #### Parameters * value: number | object #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [attemptsMade](#attemptsMade) * [attemptsStarted](#attemptsStarted) * [data](#data) * [debounceId](#debounceId) * [deduplicationId](#deduplicationId) * [failedReason](#failedReason) * [finishedOn](#finishedOn) * [id](#id) * [log](#log) * [moveToDelayed](#moveToDelayed) * [name](#name) * [nextRepeatableJobKey](#nextRepeatableJobKey) * [opts](#opts) * [parent](#parent) * [parentKey](#parentKey) * [prefix](#prefix) * [processedBy](#processedBy) * [processedOn](#processedOn) * [progress](#progress) * [queueName](#queueName) * [repeatJobKey](#repeatJobKey) * [returnValue](#returnValue) * [returnvalue](#returnvalue-1) * [stacktrace](#stacktrace) * [timestamp](#timestamp) * [updateData](#updateData) * [updateProgress](#updateProgress) Generated using [TypeDoc](https://typedoc.org/) --- # Telemetry | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Telemetry](v5.Telemetry.html) Interface Telemetry ============================ Telemetry interface This interface allows third-party libraries to integrate their own telemetry system. The interface is heavily inspired by OpenTelemetry but it's not limited to it. interface Telemetry<[Context](v5.Telemetry.html#Context) \> {     [contextManager](v5.Telemetry.html#contextManager) : [ContextManager](v5.ContextManager.html) ;     [tracer](v5.Telemetry.html#tracer) : [Tracer](v5.Tracer.html) <[Context](v5.Telemetry.html#Context) \>; } #### Type Parameters * Context = any ##### Index ### Properties [contextManager](v5.Telemetry.html#contextManager) [tracer](v5.Telemetry.html#tracer) Properties ---------- ### contextManager[](#contextManager) contextManager: [ContextManager](v5.ContextManager.html) Context manager instance The context manager is responsible for managing the context and propagating it across the application. ### tracer[](#tracer) tracer: [Tracer](v5.Tracer.html) <[Context](v5.Telemetry.html#Context) \> Tracer instance The tracer is responsible for creating spans and propagating the context across the application. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [contextManager](#contextManager) * [tracer](#tracer) Generated using [TypeDoc](https://typedoc.org/) --- # Tracer | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Tracer](v5.Tracer.html) Interface Tracer ========================= Tracer interface interface Tracer<[Context](v5.Tracer.html#Context) \> {     [startSpan](v5.Tracer.html#startSpan.startSpan-1) (name, options?, context?): [Span](v5.Span.html) ; } #### Type Parameters * Context = any ##### Index ### Methods [startSpan](v5.Tracer.html#startSpan) Methods ------- ### startSpan[](#startSpan) * startSpan(name, options?, context?): [Span](v5.Span.html) [](#startSpan.startSpan-1) * startSpan creates a new Span with the given name and options on an optional context. If the context is not provided, the current active context should be used. #### Parameters * name: string * `Optional` options: [SpanOptions](v5.SpanOptions.html) * `Optional` context: [Context](v5.Tracer.html#Context) #### Returns [Span](v5.Span.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [startSpan](#startSpan) Generated using [TypeDoc](https://typedoc.org/) --- # RetryJobOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RetryJobOpts](v5.RetryJobOpts.html) Interface RetryJobOpts ====================== interface RetryJobOpts {     [fieldsToUpdate](v5.RetryJobOpts.html#fieldsToUpdate) ?: Record; } ##### Index ### Properties [fieldsToUpdate?](v5.RetryJobOpts.html#fieldsToUpdate) Properties ---------- ### `Optional` fieldsToUpdate[](#fieldsToUpdate) fieldsToUpdate?: Record ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [fieldsToUpdate](#fieldsToUpdate) Generated using [TypeDoc](https://typedoc.org/) --- # SpanOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [SpanOptions](v5.SpanOptions.html) Interface SpanOptions ===================== interface SpanOptions {     [kind](v5.SpanOptions.html#kind) : [SpanKind](../enums/v5.SpanKind.html) ; } ##### Index ### Properties [kind](v5.SpanOptions.html#kind) Properties ---------- ### kind[](#kind) kind: [SpanKind](../enums/v5.SpanKind.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [kind](#kind) Generated using [TypeDoc](https://typedoc.org/) --- # WorkerListener | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [WorkerListener](v5.WorkerListener.html) Interface WorkerListener ======================================================== interface WorkerListener<[DataType](v5.WorkerListener.html#DataType) , [ResultType](v5.WorkerListener.html#ResultType) , [NameType](v5.WorkerListener.html#NameType) \> {     [active](v5.WorkerListener.html#active) : ((job, prev) => void);     [closed](v5.WorkerListener.html#closed) : (() => void);     [closing](v5.WorkerListener.html#closing) : ((msg) => void);     [completed](v5.WorkerListener.html#completed) : ((job, result, prev) => void);     [drained](v5.WorkerListener.html#drained) : (() => void);     [error](v5.WorkerListener.html#error) : ((failedReason) => void);     [failed](v5.WorkerListener.html#failed) : ((job, error, prev) => void);     [ioredis:close](v5.WorkerListener.html#ioredis_close) : (() => void);     [paused](v5.WorkerListener.html#paused) : (() => void);     [progress](v5.WorkerListener.html#progress) : ((job, progress) => void);     [ready](v5.WorkerListener.html#ready) : (() => void);     [resumed](v5.WorkerListener.html#resumed) : (() => void);     [stalled](v5.WorkerListener.html#stalled) : ((jobId, prev) => void); } #### Type Parameters * DataType = any * ResultType = any * NameType extends string = string #### Hierarchy ([view full](../hierarchy.html#v5.WorkerListener) ) * [IoredisListener](v5.IoredisListener.html) * WorkerListener ##### Index ### Properties [active](v5.WorkerListener.html#active) [closed](v5.WorkerListener.html#closed) [closing](v5.WorkerListener.html#closing) [completed](v5.WorkerListener.html#completed) [drained](v5.WorkerListener.html#drained) [error](v5.WorkerListener.html#error) [failed](v5.WorkerListener.html#failed) [ioredis:close](v5.WorkerListener.html#ioredis_close) [paused](v5.WorkerListener.html#paused) [progress](v5.WorkerListener.html#progress) [ready](v5.WorkerListener.html#ready) [resumed](v5.WorkerListener.html#resumed) [stalled](v5.WorkerListener.html#stalled) Properties ---------- ### active[](#active) active: ((job, prev) => void) Listen to 'active' event. This event is triggered when a job enters the 'active' state. #### Type declaration * * (job, prev): void * Listen to 'active' event. This event is triggered when a job enters the 'active' state. #### Parameters * job: [Job](../classes/v5.Job.html) <[DataType](v5.WorkerListener.html#DataType) , [ResultType](v5.WorkerListener.html#ResultType) , [NameType](v5.WorkerListener.html#NameType) \> * prev: string #### Returns void ### closed[](#closed) closed: (() => void) Listen to 'closing' event. This event is triggered when the worker is closed. #### Type declaration * * (): void * Listen to 'closing' event. This event is triggered when the worker is closed. #### Returns void ### closing[](#closing) closing: ((msg) => void) Listen to 'closing' event. This event is triggered when the worker is closing. #### Type declaration * * (msg): void * Listen to 'closing' event. This event is triggered when the worker is closing. #### Parameters * msg: string #### Returns void ### completed[](#completed) completed: ((job, result, prev) => void) Listen to 'completed' event. This event is triggered when a job has successfully completed. #### Type declaration * * (job, result, prev): void * Listen to 'completed' event. This event is triggered when a job has successfully completed. #### Parameters * job: [Job](../classes/v5.Job.html) <[DataType](v5.WorkerListener.html#DataType) , [ResultType](v5.WorkerListener.html#ResultType) , [NameType](v5.WorkerListener.html#NameType) \> * result: [ResultType](v5.WorkerListener.html#ResultType) * prev: string #### Returns void ### drained[](#drained) drained: (() => void) Listen to 'drained' event. This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied. #### Type declaration * * (): void * Listen to 'drained' event. This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied. #### Returns void ### error[](#error) error: ((failedReason) => void) Listen to 'error' event. This event is triggered when an error is throw. #### Type declaration * * (failedReason): void * Listen to 'error' event. This event is triggered when an error is throw. #### Parameters * failedReason: Error #### Returns void ### failed[](#failed) failed: ((job, error, prev) => void) Listen to 'failed' event. This event is triggered when a job has thrown an exception. Note: job parameter could be received as undefined when an stalled job reaches the stalled limit and it is deleted by the removeOnFail option. #### Type declaration * * (job, error, prev): void * Listen to 'failed' event. This event is triggered when a job has thrown an exception. Note: job parameter could be received as undefined when an stalled job reaches the stalled limit and it is deleted by the removeOnFail option. #### Parameters * job: [Job](../classes/v5.Job.html) <[DataType](v5.WorkerListener.html#DataType) , [ResultType](v5.WorkerListener.html#ResultType) , [NameType](v5.WorkerListener.html#NameType) \> * error: Error * prev: string #### Returns void ### ioredis:close[](#ioredis_close) ioredis:close: (() => void) Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Type declaration * * (): void * Listen to 'ioredis:close' event. This event is triggered when ioredis is closed. #### Returns void ### paused[](#paused) paused: (() => void) Listen to 'paused' event. This event is triggered when the queue is paused. #### Type declaration * * (): void * Listen to 'paused' event. This event is triggered when the queue is paused. #### Returns void ### progress[](#progress) progress: ((job, progress) => void) Listen to 'progress' event. This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world. #### Type declaration * * (job, progress): void * Listen to 'progress' event. This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world. #### Parameters * job: [Job](../classes/v5.Job.html) <[DataType](v5.WorkerListener.html#DataType) , [ResultType](v5.WorkerListener.html#ResultType) , [NameType](v5.WorkerListener.html#NameType) \> * progress: number | object #### Returns void ### ready[](#ready) ready: (() => void) Listen to 'ready' event. This event is triggered when blockingConnection is ready. #### Type declaration * * (): void * Listen to 'ready' event. This event is triggered when blockingConnection is ready. #### Returns void ### resumed[](#resumed) resumed: (() => void) Listen to 'resumed' event. This event is triggered when the queue is resumed. #### Type declaration * * (): void * Listen to 'resumed' event. This event is triggered when the queue is resumed. #### Returns void ### stalled[](#stalled) stalled: ((jobId, prev) => void) Listen to 'stalled' event. This event is triggered when a job has stalled and has been moved back to the wait list. #### Type declaration * * (jobId, prev): void * Listen to 'stalled' event. This event is triggered when a job has stalled and has been moved back to the wait list. #### Parameters * jobId: string * prev: string #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [active](#active) * [closed](#closed) * [closing](#closing) * [completed](#completed) * [drained](#drained) * [error](#error) * [failed](#failed) * [ioredis:close](#ioredis_close) * [paused](#paused) * [progress](#progress) * [ready](#ready) * [resumed](#resumed) * [stalled](#stalled) Generated using [TypeDoc](https://typedoc.org/) --- # WorkerOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [WorkerOptions](v5.WorkerOptions.html) Interface WorkerOptions ======================= Base Queue options interface WorkerOptions {     [autorun](v5.WorkerOptions.html#autorun) ?: boolean;     [blockingConnection](v5.WorkerOptions.html#blockingConnection) ?: boolean;     [concurrency](v5.WorkerOptions.html#concurrency) ?: number;     [connection](v5.WorkerOptions.html#connection) : [ConnectionOptions](../types/v5.ConnectionOptions.html) ;     [drainDelay](v5.WorkerOptions.html#drainDelay) ?: number;     [limiter](v5.WorkerOptions.html#limiter) ?: [RateLimiterOptions](v5.RateLimiterOptions.html) ;     [lockDuration](v5.WorkerOptions.html#lockDuration) ?: number;     [lockRenewTime](v5.WorkerOptions.html#lockRenewTime) ?: number;     [maxStalledCount](v5.WorkerOptions.html#maxStalledCount) ?: number;     [metrics](v5.WorkerOptions.html#metrics) ?: [MetricsOptions](v5.MetricsOptions.html) ;     [name](v5.WorkerOptions.html#name) ?: string;     [prefix](v5.WorkerOptions.html#prefix) ?: string;     [removeOnComplete](v5.WorkerOptions.html#removeOnComplete) ?: [KeepJobs](v5.KeepJobs.html) ;     [removeOnFail](v5.WorkerOptions.html#removeOnFail) ?: [KeepJobs](v5.KeepJobs.html) ;     [runRetryDelay](v5.WorkerOptions.html#runRetryDelay) ?: number;     [settings](v5.WorkerOptions.html#settings) ?: [AdvancedOptions](v5.AdvancedOptions.html) ;     [skipLockRenewal](v5.WorkerOptions.html#skipLockRenewal) ?: boolean;     [skipStalledCheck](v5.WorkerOptions.html#skipStalledCheck) ?: boolean;     [skipVersionCheck](v5.WorkerOptions.html#skipVersionCheck) ?: boolean;     [skipWaitingForReady](v5.WorkerOptions.html#skipWaitingForReady) ?: boolean;     [stalledInterval](v5.WorkerOptions.html#stalledInterval) ?: number;     [telemetry](v5.WorkerOptions.html#telemetry) ?: [Telemetry](v5.Telemetry.html) ;     [useWorkerThreads](v5.WorkerOptions.html#useWorkerThreads) ?: boolean;     [workerForkOptions](v5.WorkerOptions.html#workerForkOptions) ?: ForkOptions;     [workerThreadsOptions](v5.WorkerOptions.html#workerThreadsOptions) ?: WorkerOptions; } #### Hierarchy ([view full](../hierarchy.html#v5.WorkerOptions) ) * [QueueBaseOptions](v5.QueueBaseOptions.html) * [SandboxedOptions](v5.SandboxedOptions.html) * WorkerOptions ##### Index ### Properties [autorun?](v5.WorkerOptions.html#autorun) [blockingConnection?](v5.WorkerOptions.html#blockingConnection) [concurrency?](v5.WorkerOptions.html#concurrency) [connection](v5.WorkerOptions.html#connection) [drainDelay?](v5.WorkerOptions.html#drainDelay) [limiter?](v5.WorkerOptions.html#limiter) [lockDuration?](v5.WorkerOptions.html#lockDuration) [lockRenewTime?](v5.WorkerOptions.html#lockRenewTime) [maxStalledCount?](v5.WorkerOptions.html#maxStalledCount) [metrics?](v5.WorkerOptions.html#metrics) [name?](v5.WorkerOptions.html#name) [prefix?](v5.WorkerOptions.html#prefix) [removeOnComplete?](v5.WorkerOptions.html#removeOnComplete) [removeOnFail?](v5.WorkerOptions.html#removeOnFail) [runRetryDelay?](v5.WorkerOptions.html#runRetryDelay) [settings?](v5.WorkerOptions.html#settings) [skipLockRenewal?](v5.WorkerOptions.html#skipLockRenewal) [skipStalledCheck?](v5.WorkerOptions.html#skipStalledCheck) [skipVersionCheck?](v5.WorkerOptions.html#skipVersionCheck) [skipWaitingForReady?](v5.WorkerOptions.html#skipWaitingForReady) [stalledInterval?](v5.WorkerOptions.html#stalledInterval) [telemetry?](v5.WorkerOptions.html#telemetry) [useWorkerThreads?](v5.WorkerOptions.html#useWorkerThreads) [workerForkOptions?](v5.WorkerOptions.html#workerForkOptions) [workerThreadsOptions?](v5.WorkerOptions.html#workerThreadsOptions) Properties ---------- ### `Optional` autorun[](#autorun) autorun?: boolean Condition to start processor at instance creation. #### Default true ### `Optional` blockingConnection[](#blockingConnection) blockingConnection?: boolean Denotes commands should retry indefinitely. #### Deprecated ### `Optional` concurrency[](#concurrency) concurrency?: number Amount of jobs that a single worker is allowed to work on in parallel. #### Default 1 #### See [https://docs.bullmq.io/guide/workers/concurrency](https://docs.bullmq.io/guide/workers/concurrency) ### connection[](#connection) connection: [ConnectionOptions](../types/v5.ConnectionOptions.html) Options for connecting to a Redis instance. ### `Optional` drainDelay[](#drainDelay) drainDelay?: number Number of seconds to long poll for jobs when the queue is empty. #### Default 5 ### `Optional` limiter[](#limiter) limiter?: [RateLimiterOptions](v5.RateLimiterOptions.html) Enable rate limiter #### See [https://docs.bullmq.io/guide/rate-limiting](https://docs.bullmq.io/guide/rate-limiting) ### `Optional` lockDuration[](#lockDuration) lockDuration?: number Duration of the lock for the job in milliseconds. The lock represents that a worker is processing the job. If the lock is lost, the job will be eventually be picked up by the stalled checker and move back to wait so that another worker can process it again. #### Default 30000 ### `Optional` lockRenewTime[](#lockRenewTime) lockRenewTime?: number The time in milliseconds before the lock is automatically renewed. It is not recommended to modify this value, which is by default set to halv the lockDuration value, which is optimal for most use cases. ### `Optional` maxStalledCount[](#maxStalledCount) maxStalledCount?: number Amount of times a job can be recovered from a stalled state to the `wait` state. If this is exceeded, the job is moved to `failed`. #### Default 1 ### `Optional` metrics[](#metrics) metrics?: [MetricsOptions](v5.MetricsOptions.html) Enable collect metrics. #### See [https://docs.bullmq.io/guide/metrics](https://docs.bullmq.io/guide/metrics) ### `Optional` name[](#name) name?: string Optional worker name. The name will be stored on every job processed by this worker instance, and can be used to monitor which worker is processing or has processed a given job. ### `Optional` prefix[](#prefix) prefix?: string Prefix for all queue keys. ### `Optional` removeOnComplete[](#removeOnComplete) removeOnComplete?: [KeepJobs](v5.KeepJobs.html) You can provide an object specifying max age and/or count to keep. Default behavior is to keep the job in the completed set. ### `Optional` removeOnFail[](#removeOnFail) removeOnFail?: [KeepJobs](v5.KeepJobs.html) You can provide an object specifying max age and/or count to keep. Default behavior is to keep the job in the failed set. ### `Optional` runRetryDelay[](#runRetryDelay) runRetryDelay?: number This is an internal option that should not be modified. #### Default 15000 ### `Optional` settings[](#settings) settings?: [AdvancedOptions](v5.AdvancedOptions.html) More advanced options. ### `Optional` skipLockRenewal[](#skipLockRenewal) skipLockRenewal?: boolean Skip lock renewal for this worker. If set to true, the lock will expire after lockDuration and moved back to the wait queue (if the stalled check is not disabled) #### Default false ### `Optional` skipStalledCheck[](#skipStalledCheck) skipStalledCheck?: boolean Skip stalled check for this worker. Note that other workers could still perform stalled checkd and move jobs back to wait for jobs being processed by this worker. #### Default false ### `Optional` skipVersionCheck[](#skipVersionCheck) skipVersionCheck?: boolean Avoid version validation to be greater or equal than v5.0.0. #### Default Value false ### `Optional` skipWaitingForReady[](#skipWaitingForReady) skipWaitingForReady?: boolean Skip waiting for connection ready. In some instances if you want the queue to fail fast if the connection is not ready you can set this to true. This could be useful for testing and when adding jobs via HTTP endpoints for example. ### `Optional` stalledInterval[](#stalledInterval) stalledInterval?: number Number of milliseconds between stallness checks. #### Default 30000 ### `Optional` telemetry[](#telemetry) telemetry?: [Telemetry](v5.Telemetry.html) Telemetry Addon ### `Optional` useWorkerThreads[](#useWorkerThreads) useWorkerThreads?: boolean Use Worker Threads instead of Child Processes. Note: This option can only be used when specifying a file for the processor argument. #### Default false ### `Optional` workerForkOptions[](#workerForkOptions) workerForkOptions?: ForkOptions Support passing Worker Fork Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as false (default value). #### See [https://nodejs.org/api/child\_process.html#child\_processforkmodulepath-args-options](https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options) ### `Optional` workerThreadsOptions[](#workerThreadsOptions) workerThreadsOptions?: WorkerOptions Support passing Worker Threads Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as true. #### See [https://nodejs.org/api/worker\_threads.html#new-workerfilename-options](https://nodejs.org/api/worker_threads.html#new-workerfilename-options) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark ### On This Page * [autorun](#autorun) * [blockingConnection](#blockingConnection) * [concurrency](#concurrency) * [connection](#connection) * [drainDelay](#drainDelay) * [limiter](#limiter) * [lockDuration](#lockDuration) * [lockRenewTime](#lockRenewTime) * [maxStalledCount](#maxStalledCount) * [metrics](#metrics) * [name](#name) * [prefix](#prefix) * [removeOnComplete](#removeOnComplete) * [removeOnFail](#removeOnFail) * [runRetryDelay](#runRetryDelay) * [settings](#settings) * [skipLockRenewal](#skipLockRenewal) * [skipStalledCheck](#skipStalledCheck) * [skipVersionCheck](#skipVersionCheck) * [skipWaitingForReady](#skipWaitingForReady) * [stalledInterval](#stalledInterval) * [telemetry](#telemetry) * [useWorkerThreads](#useWorkerThreads) * [workerForkOptions](#workerForkOptions) * [workerThreadsOptions](#workerThreadsOptions) Generated using [TypeDoc](https://typedoc.org/) --- # AttributeValue | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [AttributeValue](v5.AttributeValue.html) Type alias AttributeValue ========================= AttributeValue: string | number | boolean | (null | undefined | string)\[\] | (null | undefined | number)\[\] | (null | undefined | boolean)\[\] ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # BackoffStrategy | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BackoffStrategy](v5.BackoffStrategy.html) Type alias BackoffStrategy ========================== BackoffStrategy: ((attemptsMade, type?, err?, job?) => Promise | number) #### Type declaration * * (attemptsMade, type?, err?, job?): Promise | number * #### Parameters * attemptsMade: number * `Optional` type: string * `Optional` err: Error * `Optional` job: [MinimalJob](../interfaces/v5.MinimalJob.html) #### Returns Promise | number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ClusterOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ClusterOptions](v5.ClusterOptions.html) Type alias ClusterOptions ========================= ClusterOptions: IORedis.ClusterOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ConnectionOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ConnectionOptions](v5.ConnectionOptions.html) Type alias ConnectionOptions ============================ ConnectionOptions: [RedisOptions](v5.RedisOptions.html) | [ClusterOptions](v5.ClusterOptions.html) | IORedis.Redis | IORedis.Cluster ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # EntryId | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [EntryId](v5.EntryId.html) Type alias EntryId ================== EntryId: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # CompressableJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [CompressableJobOptions](v5.CompressableJobOptions.html) Type alias CompressableJobOptions ================================= CompressableJobOptions: {     debounce?: [DebounceOptions](../interfaces/v5.DebounceOptions.html) ;     deduplication?: [DebounceOptions](../interfaces/v5.DebounceOptions.html) ;     failParentOnFailure?: boolean;     ignoreDependencyOnFailure?: boolean;     removeDependencyOnFailure?: boolean;     telemetry?: {         metadata?: string;         omitContext?: boolean;     }; } These options will be stored in Redis with smaller keys for compactness. #### Type declaration * ##### `Optional` debounce?: [DebounceOptions](../interfaces/v5.DebounceOptions.html) Debounce options. #### Deprecated use deduplication option * ##### `Optional` deduplication?: [DebounceOptions](../interfaces/v5.DebounceOptions.html) Deduplication options. * ##### `Optional` failParentOnFailure?: boolean If true, moves parent to failed. * ##### `Optional` ignoreDependencyOnFailure?: boolean If true, moves the jobId from its parent dependencies to failed dependencies when it fails after all attempts. * ##### `Optional` removeDependencyOnFailure?: boolean If true, removes the job from its parent dependencies when it fails after all attempts. * ##### `Optional` telemetry?: {     metadata?: string;     omitContext?: boolean; } Telemetry options * ##### `Optional` metadata?: string Metadata, used for context propagation. * ##### `Optional` omitContext?: boolean If `true` telemetry will omit the context propagation #### Default false ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # BulkJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [BulkJobOptions](v5.BulkJobOptions.html) Type alias BulkJobOptions ========================= BulkJobOptions: Omit<[JobsOptions](v5.JobsOptions.html) , "repeat"\> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # EntryRaw | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [EntryRaw](v5.EntryRaw.html) Type alias EntryRaw =================== EntryRaw: \[[EntryId](v5.EntryId.html)\ , string\[\]\] ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # Exception | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Exception](v5.Exception.html) Type alias Exception ==================== Exception: string | [ExceptionType](v5.ExceptionType.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ExceptionType | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ExceptionType](v5.ExceptionType.html) Type alias ExceptionType ======================== ExceptionType: CodeException | MessageException | NameException ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FinishedPropValAttribute | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FinishedPropValAttribute](v5.FinishedPropValAttribute.html) Type alias FinishedPropValAttribute =================================== FinishedPropValAttribute: "returnvalue" | "failedReason" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FinishedStatus | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FinishedStatus](v5.FinishedStatus.html) Type alias FinishedStatus ========================= FinishedStatus: "completed" | "failed" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FlowJob | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowJob](v5.FlowJob.html) Type alias FlowJob ================== FlowJob: [FlowJobBase](../interfaces/v5.FlowJobBase.html) <[JobsOptions](v5.JobsOptions.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FlowQueuesOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowQueuesOpts](v5.FlowQueuesOpts.html) Type alias FlowQueuesOpts ========================= FlowQueuesOpts: Record\> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # FlowChildJob | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [FlowChildJob](v5.FlowChildJob.html) Type alias FlowChildJob ======================= FlowChildJob: [FlowJobBase](../interfaces/v5.FlowJobBase.html) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobData | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobData](v5.JobData.html) Type alias JobData ================== JobData: \[[JobJsonRaw](../interfaces/v5.JobJsonRaw.html)\ | number, string?\] ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobSchedulerTemplateOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobSchedulerTemplateOptions](v5.JobSchedulerTemplateOptions.html) Type alias JobSchedulerTemplateOptions ====================================== JobSchedulerTemplateOptions: Omit<[JobsOptions](v5.JobsOptions.html) , "jobId" | "repeat" | "delay" | "deduplication" | "debounce"\> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobJsonSandbox | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobJsonSandbox](v5.JobJsonSandbox.html) Type alias JobJsonSandbox ========================= JobJsonSandbox: [JobJson](../interfaces/v5.JobJson.html) & {     prefix: string;     queueName: string; } #### Type declaration * ##### prefix: string * ##### queueName: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobType | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobType](v5.JobType.html) Type alias JobType ================== JobType: [JobState](v5.JobState.html) | "paused" | "repeat" | "wait" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobsOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobsOptions](v5.JobsOptions.html) Type alias JobsOptions ====================== JobsOptions: [BaseJobOptions](../interfaces/v5.BaseJobOptions.html) & [CompressableJobOptions](v5.CompressableJobOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # JobState | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [JobState](v5.JobState.html) Type alias JobState =================== JobState: [FinishedStatus](v5.FinishedStatus.html) | "active" | "delayed" | "prioritized" | "waiting" | "waiting-children" ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # KeysMap | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [KeysMap](v5.KeysMap.html) Type alias KeysMap ================== KeysMap: {     \[index in string\]: string } ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # MinimalQueue | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [MinimalQueue](v5.MinimalQueue.html) Type alias MinimalQueue ======================= MinimalQueue: Pick<[QueueBase](../classes/v5.QueueBase.html) , "name" | "client" | "toKey" | "keys" | "opts" | "qualifiedName" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion" | "trace"\> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # ParentOpts | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [ParentOpts](v5.ParentOpts.html) Type alias ParentOpts ===================== ParentOpts: {     parentDependenciesKey?: string;     parentKey?: string;     waitChildrenKey?: string; } #### Type declaration * ##### `Optional` parentDependenciesKey?: string * ##### `Optional` parentKey?: string * ##### `Optional` waitChildrenKey?: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RedisClient | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RedisClient](v5.RedisClient.html) Type alias RedisClient ====================== RedisClient: Redis | Cluster ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RedisOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RedisOptions](v5.RedisOptions.html) Type alias RedisOptions ======================= RedisOptions: IORedis.RedisOptions & [BaseOptions](../interfaces/v5.BaseOptions.html) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RedisJobOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RedisJobOptions](v5.RedisJobOptions.html) Type alias RedisJobOptions ========================== RedisJobOptions: [BaseJobOptions](../interfaces/v5.BaseJobOptions.html) & {     de?: string;     deid?: string;     fpof?: boolean;     idof?: boolean;     kl?: number;     omc?: boolean;     rdof?: boolean;     tm?: string; } These fields are the ones stored in Redis with smaller keys for compactness. #### Type declaration * ##### `Optional` de?: string Deduplication identifier. #### Deprecated use deid * ##### `Optional` deid?: string Debounce identifier. * ##### `Optional` fpof?: boolean If true, moves parent to failed. * ##### `Optional` idof?: boolean If true, moves the jobId from its parent dependencies to failed dependencies when it fails after all attempts. * ##### `Optional` kl?: number Maximum amount of log entries that will be preserved * ##### `Optional` omc?: boolean Omit Context Propagation * ##### `Optional` rdof?: boolean If true, removes the job from its parent dependencies when it fails after all attempts. * ##### `Optional` tm?: string TelemetryMetadata, provide for context propagation. ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # Processor | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Processor](v5.Processor.html) Type alias Processor ============================= Processor<[T](v5.Processor.html#T) , [R](v5.Processor.html#R) , [N](v5.Processor.html#N) \>: ((job, token?) => Promise<[R](v5.Processor.html#R) \>) An async function that receives `Job`s and handles them. #### Type Parameters * T = any * R = any * N extends string = string #### Type declaration * * (job, token?): Promise<[R](v5.Processor.html#R) \> * #### Parameters * job: [Job](../classes/v5.Job.html) <[T](v5.Processor.html#T) , [R](v5.Processor.html#R) , [N](v5.Processor.html#N) \> * `Optional` token: string #### Returns Promise<[R](v5.Processor.html#R) \> ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RepeatStrategy | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RepeatStrategy](v5.RepeatStrategy.html) Type alias RepeatStrategy ========================= RepeatStrategy: ((millis, opts, name?) => number | undefined | Promise) #### Type declaration * * (millis, opts, name?): number | undefined | Promise * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v5.RepeatOptions.html) * `Optional` name: string #### Returns number | undefined | Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RepeatableOptions | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RepeatableOptions](v5.RepeatableOptions.html) Type alias RepeatableOptions ============================ RepeatableOptions: {     endDate?: number;     every?: number;     limit?: number;     name: string;     pattern?: string;     tz?: string; } #### Type declaration * ##### `Optional` endDate?: number * ##### `Optional` every?: number * ##### `Optional` limit?: number * ##### name: string * ##### `Optional` pattern?: string * ##### `Optional` tz?: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RepeatableJob | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RepeatableJob](v5.RepeatableJob.html) Type alias RepeatableJob ======================== RepeatableJob: {     endDate: number | null;     every?: string | null;     id?: string | null;     key: string;     name: string;     next?: number;     pattern: string | null;     tz: string | null; } #### Type declaration * ##### endDate: number | null * ##### `Optional` every?: string | null * ##### `Optional` id?: string | null * ##### key: string * ##### name: string * ##### `Optional` next?: number * ##### pattern: string | null * ##### tz: string | null ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # StreamName | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [StreamName](v5.StreamName.html) Type alias StreamName ===================== StreamName: string ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # SandboxedJobProcessor | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [SandboxedJobProcessor](v5.SandboxedJobProcessor.html) Type alias SandboxedJobProcessor ====================================== SandboxedJobProcessor<[T](v5.SandboxedJobProcessor.html#T) , [R](v5.SandboxedJobProcessor.html#R) \>: ((job) => [R](v5.SandboxedJobProcessor.html#R) | PromiseLike<[R](v5.SandboxedJobProcessor.html#R) \>) | ((job, callback) => void) #### Type Parameters * T = any * R = any #### Type declaration * * (job): [R](v5.SandboxedJobProcessor.html#R) | PromiseLike<[R](v5.SandboxedJobProcessor.html#R) \> * #### Parameters * job: [SandboxedJob](../interfaces/v5.SandboxedJob.html) <[T](v5.SandboxedJobProcessor.html#T) , [R](v5.SandboxedJobProcessor.html#R) \> #### Returns [R](v5.SandboxedJobProcessor.html#R) | PromiseLike<[R](v5.SandboxedJobProcessor.html#R) \> #### Type declaration * * (job, callback): void * #### Parameters * job: [SandboxedJob](../interfaces/v5.SandboxedJob.html) <[T](v5.SandboxedJobProcessor.html#T) , [R](v5.SandboxedJobProcessor.html#R) \> * callback: ((error, result) => void) * * (error, result): void * #### Parameters * error: unknown * result: [R](v5.SandboxedJobProcessor.html#R) #### Returns void #### Returns void #### See [https://docs.bullmq.io/guide/workers/sandboxed-processors](https://docs.bullmq.io/guide/workers/sandboxed-processors) ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # StreamReadRaw | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [StreamReadRaw](v5.StreamReadRaw.html) Type alias StreamReadRaw ======================== StreamReadRaw: \[[StreamName](v5.StreamName.html)\ , [EntryRaw](v5.EntryRaw.html)\ \[\]\]\[\] | null | undefined ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # Time | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [Time](v5.Time.html) Type alias Time =============== Time: HighResolutionTime | number | Date ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # DELAYED_ERROR | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DELAYED\_ERROR](v5.DELAYED_ERROR.html) Variable DELAYED\_ERROR`Const` ============================== DELAYED\_ERROR: "bullmq:movedToDelayed" = 'bullmq:movedToDelayed' ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # DELAY_TIME_1 | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DELAY\_TIME\_1](v5.DELAY_TIME_1.html) Variable DELAY\_TIME\_1`Const` ============================== DELAY\_TIME\_1: 100 = 100 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # PRIORITY_LIMIT | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [PRIORITY\_LIMIT](v5.PRIORITY_LIMIT.html) Variable PRIORITY\_LIMIT`Const` =============================== PRIORITY\_LIMIT: number = ... ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # DELAY_TIME_5 | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [DELAY\_TIME\_5](v5.DELAY_TIME_5.html) Variable DELAY\_TIME\_5`Const` ============================== DELAY\_TIME\_5: 5000 = 5000 ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # RATE_LIMIT_ERROR | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [RATE\_LIMIT\_ERROR](v5.RATE_LIMIT_ERROR.html) Variable RATE\_LIMIT\_ERROR`Const` ================================== RATE\_LIMIT\_ERROR: "bullmq:rateLimitExceeded" = 'bullmq:rateLimitExceeded' ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # QUEUE_EVENT_SUFFIX | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [QUEUE\_EVENT\_SUFFIX](v5.QUEUE_EVENT_SUFFIX.html) Variable QUEUE\_EVENT\_SUFFIX`Const` ==================================== QUEUE\_EVENT\_SUFFIX: ":qe" = ':qe' ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # UNRECOVERABLE_ERROR | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [UNRECOVERABLE\_ERROR](v5.UNRECOVERABLE_ERROR.html) Variable UNRECOVERABLE\_ERROR`Const` ==================================== UNRECOVERABLE\_ERROR: "bullmq:unrecoverable" = 'bullmq:unrecoverable' ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # WAITING_CHILDREN_ERROR | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [WAITING\_CHILDREN\_ERROR](v5.WAITING_CHILDREN_ERROR.html) Variable WAITING\_CHILDREN\_ERROR`Const` ======================================== WAITING\_CHILDREN\_ERROR: "bullmq:movedToWaitingChildren" = 'bullmq:movedToWaitingChildren' ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # clientCommandMessageReg | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [clientCommandMessageReg](v5.clientCommandMessageReg.html) Variable clientCommandMessageReg`Const` ======================================= clientCommandMessageReg: RegExp = ... ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # errorObject | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [errorObject](v5.errorObject.html) Variable errorObject`Const` =========================== errorObject: {     \[index: string\]: any; } = ... #### Type declaration * ##### \[index: string\]: any ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # asyncSend | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [asyncSend](v5.asyncSend.html) Function asyncSend ================== * asyncSend<[T](v5.asyncSend.html#asyncSend.T) \>(proc, msg): Promise[](#asyncSend) * #### Type Parameters * T extends procSendLike #### Parameters * proc: [T](v5.asyncSend.html#asyncSend.T) * msg: any #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # array2obj | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [array2obj](v5.array2obj.html) Function array2obj ================== * array2obj(arr): Record[](#array2obj) * #### Parameters * arr: string\[\] #### Returns Record ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # childSend | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [childSend](v5.childSend.html) Function childSend ================== * childSend(proc, msg): Promise[](#childSend) * #### Parameters * proc: Process * msg: [ChildMessage](../interfaces/v5.ChildMessage.html) #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # decreaseMaxListeners | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [decreaseMaxListeners](v5.decreaseMaxListeners.html) Function decreaseMaxListeners ============================= * decreaseMaxListeners(emitter, count): void[](#decreaseMaxListeners) * #### Parameters * emitter: EventEmitter * count: number #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # delay | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [delay](v5.delay.html) Function delay ============== * delay(ms, abortController?): Promise[](#delay) * #### Parameters * ms: number * `Optional` abortController: AbortController #### Returns Promise ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # defaultRepeatStrategy | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [defaultRepeatStrategy](v5.defaultRepeatStrategy.html) Function defaultRepeatStrategy ============================== * defaultRepeatStrategy(millis, opts): number[](#defaultRepeatStrategy) * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v5.RepeatOptions.html) #### Returns number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # errorToJSON | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [errorToJSON](v5.errorToJSON.html) Function errorToJSON ==================== * errorToJSON(value): Record[](#errorToJSON) * #### Parameters * value: any #### Returns Record ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # getNextMillis | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [getNextMillis](v5.getNextMillis.html) Function getNextMillis ====================== * getNextMillis(millis, opts): number[](#getNextMillis) * #### Parameters * millis: number * opts: [RepeatOptions](../interfaces/v5.RepeatOptions.html) #### Returns number ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # getParentKey | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [getParentKey](v5.getParentKey.html) Function getParentKey ===================== * getParentKey(opts): string | undefined[](#getParentKey) * #### Parameters * opts: {     id: string;     queue: string; } * ##### id: string * ##### queue: string #### Returns string | undefined ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) --- # increaseMaxListeners | bullmq - v5.41.8 * [bullmq](../index.html) * [v5](../modules/v5.html) * [increaseMaxListeners](v5.increaseMaxListeners.html) Function increaseMaxListeners ============================= * increaseMaxListeners(emitter, count): void[](#increaseMaxListeners) * #### Parameters * emitter: EventEmitter * count: number #### Returns void ### Settings #### Member Visibility * Inherited #### Theme OSLightDark Generated using [TypeDoc](https://typedoc.org/) ---