0.0.16 • Published 1 month ago

adonisjs-jobs v0.0.16

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

Getting Started

This package is available in the npm registry.

pnpm install adonisjs-jobs

Next, configure the package by running the following command.

node ace configure adonisjs-jobs

Creating Jobs

You can create a new job by running the following command.

node ace jobs:make SendEmail

Listening for Jobs

First, you need to start the jobs listener, you can spawn multiple listeners to process jobs concurrently.

node ace jobs:listen  # default queue from env `REDIS_QUEUE`

node ace jobs:listen --queue=high
node ace jobs:listen --queue=high --queue=medium
node ace jobs:listen --queue=high,medium,low

node ace jobs:listen --queue=high --concurrency=3

Dispatching Jobs

Dispatching jobs is as simple as importing the job class and calling

import SendEmail from 'path/to/jobs/send_email.js'

await SendEmail.dispatch({ ... })

await SendEmail.dispatch({ ... }, { // for more job options check https://docs.bullmq.io/
  attempts: 3,
  delay: 1000,
})

Import Aliases (optional)

update your package.json and tsconfig.json to use import aliases

package.json

{
  "imports": {
    "#jobs/*": "./app/jobs/*.js"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "paths": {
      "#jobs/*": ["./app/jobs/*.js"]
    }
  }
}
import SendEmail from '#jobs/send_email.js'

await SendEmail.dispatch({ ... })

Jobs Dashboard

You can view the jobs dashboard by adding the following route to your start/routes.ts file.

import router from '@adonisjs/core/services/router'

router.jobs() // default is /jobs

// or

router.jobs('/my-jobs-dashboard')

router.jobs() returns a route group, you can add middleware to the group

router.jobs().use(
  middleware.auth({
    guards: ['basicAuth'],
  })
)
0.0.16

1 month ago

0.0.15

1 month ago

0.0.13

1 month ago

0.0.14

1 month ago

0.0.10

2 months ago

0.0.11

2 months ago

0.0.12

2 months ago

0.0.9

2 months ago

0.0.8

2 months ago

0.0.5

2 months ago

0.0.4

2 months ago

0.0.7

2 months ago

0.0.6

2 months ago

0.0.3

2 months ago

0.0.2

2 months ago

0.0.1

2 months ago