Named Processor

When a Worker is instantiated, the most common usage is to specify a process function.

Sometimes however, it is useful to be able to specify more than one function to process a job for a specific condition:

const worker = new Worker(
  async job => {
    switch ( {
      case 'taskType1': {
        await doSomeLogic1();
      case 'taskType2': {
        await doSomeLogic2();
  { connection },

You could use a simple switch case to differentiate your logic, in this example we are using the job name.

This was a feature in the Bull package, but it creates a lot of confusion, so in order to provide an alternative, you can use this pattern. See #297 and #69 as reference

Last updated

Copyright (c) Inc.