PollingJobQueueStrategy
PollingJobQueueStrategy
This class allows easier implementation of JobQueueStrategy in a polling style.
Instead of providing JobQueueStrategy start()
you should provide a next
method.
This class should be extended by any strategy which does not support a push-based system to notify on new jobs. It is used by the SqlJobQueueStrategy and InMemoryJobQueueStrategy.
Signature
class PollingJobQueueStrategy extends InjectableJobQueueStrategy {
public public concurrency: number;
public public pollInterval: number | ((queueName: string) => number);
public public setRetries: (queueName: string, job: Job) => number;
public public backOffStrategy?: BackoffStrategy;
constructor(config?: PollingJobQueueStrategyConfig)
constructor(concurrency?: number, pollInterval?: number)
constructor(concurrencyOrConfig?: number | PollingJobQueueStrategyConfig, maybePollInterval?: number)
async start(queueName: string, process: (job: Job<Data>) => Promise<any>) => ;
async stop(queueName: string, process: (job: Job<Data>) => Promise<any>) => ;
async cancelJob(jobId: ID) => Promise<Job | undefined>;
abstract next(queueName: string) => Promise<Job | undefined>;
abstract update(job: Job) => Promise<void>;
abstract findOne(id: ID) => Promise<Job | undefined>;
}
Extends
- InjectableJobQueueStrategy
Members
concurrency
number
pollInterval
number | ((queueName: string) => number)
setRetries
(queueName: string, job: Job) => number
backOffStrategy
BackoffStrategy
constructor
(config?: PollingJobQueueStrategyConfig) => PollingJobQueueStrategy
constructor
(concurrency?: number, pollInterval?: number) => PollingJobQueueStrategy
constructor
(concurrencyOrConfig?: number | PollingJobQueueStrategyConfig, maybePollInterval?: number) => PollingJobQueueStrategy
start
(queueName: string, process: (job: Job<Data>) => Promise<any>) =>
stop
(queueName: string, process: (job: Job<Data>) => Promise<any>) =>
cancelJob
next
(queueName: string) => Promise<Job | undefined>
update
(job: Job) => Promise<void>