Queue Dashboard
The package includes integration with QueueDash, a web-based dashboard for monitoring and managing your BullMQ queues in real-time
Setup
Add the dashboard routes to your start/routes.ts
file:
import router from '@adonisjs/core/services/router'
import { queueDashUiRoutes } from '@nemoventures/adonis-jobs/ui/queuedash'
// Add queue dashboard routes
router.group(() => {
queueDashUiRoutes().prefix('/queue')
}).prefix('/admin')
This will make the dashboard available at /admin/queue
. Run your AdonisJS application and open http://localhost:3333/admin/queue
to access the dashboard.
Custom Authentication
Since these routes are standard AdonisJS routes, you can protect them using a authentication middleware.
import { middleware } from '#start/kernel'
router.group(() => {
queueDashUiRoutes().prefix('/queue')
})
.prefix('/admin')
.use(middleware.auth({ guards: ['basicAuth'] }))
Shield Configuration
To enable job deletion and re-running directly from the dashboard, make sure to exclude the dashboard routes from CSRF protection in your config/shield.ts file. Add the /admin/queue path to the exceptRoutes array under the csrf option:
csrf: {
enabled: true,
exceptRoutes: [
'/admin/queue',
],
},
Next Steps
Learn about monitoring and metrics to set up comprehensive observability for your job queues.