Releases: nemoengineering/adonis-jobs
Release 1.0.0
Check out the dedicated documentation website : https://adonis-jobs.nemo.engineering/
Also check out previous release for breaking changes
Release 1.0.0-beta.4
1.0.0-beta.4 (2025-06-23)
Release 1.0.0-beta.3
Release 1.0.0-beta.2
1.0.0-beta.2 (2025-06-13)
Bug Fixes
- ignore jobs that are not living inside ${app.root}/app directory (6d1190c)
Features
- add job default options (#65) (c39f426)
- deploy docs to gh pages (bff5cf1)
- feat!: scheduled command jobs + changed API for dispatching command jobs by @Julien-R44 in
- docs: move to vocs by @Julien-R44 in #66
Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2
Release 1.0.0-beta.1
1.0.0-beta.1 (2025-06-13)
Features
1.0.0-beta.0
Release Notes v1.0.0-beta.0
Lot of changes in this version, and some minor breaking changes. Documentation is not updated yet
New Features
Job Scheduler System
Built-in job scheduling with cron-like syntax:
await JobScheduler.schedule({
key: 'file-writer-scheduler',
job: WriteFileJob,
data: { data: 'Scheduled via JobScheduler!' },
repeat: { pattern: '*/15 * * * * *' },
queue: 'queue-name',
})We are using Bull MQ Job Scheduler under the hood.
New Commands:
node ace queue:scheduler:clear --queue defaultnode ace queue:scheduler:list --queue defaultnode ace queue:scheduler:remove --key "scheduler-key"
Management Commands
Three new queue management commands:
node ace queue:clean --type completed --grace 200 --limit 500node ace queue:clear --queue notificationsnode ace queue:drain --queue background-tasks
Prometheus Metrics Integration
Added collector for @julr/adonisjs-prometheus:
- Job count metrics:
bullmq_job_count{queue="default",state="active"} - Processing time histograms:
bullmq_job_processing_time - Completion time histograms:
bullmq_job_completion_time
We are maybe planning to add a cool basic Grafana dashboard for BullMQ metrics in the future.
BullMQ Pro Support
Basic support for BullMQ Pro. To enable it, make sure to install @taskforce/bullmq-pro and enable it in your config/queue.ts:
// ....
declare module '@nemoventures/adonis-jobs/types' {
interface Queues extends InferQueues<typeof queueConfig> {}
interface BullVersion {
version: 'pro' // Enable BullMQ Pro
}
}Job Discovery
- Job classes now use
_job.tssuffix and can be placed anywhere in your codebase - Protection against duplicate job names with clear error messages
- Automatic job class loading via new
JobDiscoverersystem
Improved Job Dispatch
Can now call Job.dispatch() without arguments when no data is required (previously needed Job.dispatch(undefined))
Breaking Changes
API Changes
-
Queue Dashboard: Moved from root export to
./ui/queuedash// Before import { queueDashRoutes } from '@nemoventures/adonis-jobs' // After import { queueDashUiRoutes } from '@nemoventures/adonis-jobs/ui/queuedash'
-
Container Binding: Renamed from
job.queueManagertoqueue.manager// Before const manager = await app.container.make('job.queueManager') // After const manager = await app.container.make('queue.manager')
Closure Jobs
Closure jobs have been removed since they were experimental and quite hackish. Use standard job classes instead.
Job file naming convention
Job classes must now end with the _job.ts suffix to ensure proper discovery.
BullMQ as Peer Dependency
BullMQ is now a peer dependency instead of a direct dependency now, since we are supporting BullMQ Pro. This means you need to install it manually in your project.
npm install bullmqFull Changelog: View on GitHub
v0.8.0
v0.6.2
chore(release): 0.6.2