
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@rowboat/bull-queue
Advanced tools
`@acidiney/bull-queue` is a powerful queue system designed specifically for AdonisJS applications, leveraging the reliability and scalability of BullMQ, a Redis-based queue for Node.js. Derived from `@rlanz/bull-queue`, it offers enhanced functionality ta
@acidiney/bull-queue is a powerful queue system designed specifically for AdonisJS applications, leveraging the reliability and scalability of BullMQ, a Redis-based queue for Node.js. Derived from @rlanz/bull-queue, it offers enhanced functionality tailored to AdonisJS's ecosystem.
Begin by installing @acidiney/bull-queue using npm:
npm install @acidiney/bull-queue
After installation, configure the package to adapt it to your AdonisJS project:
node ace configure @acidiney/bull-queue
Utilize the dispatch method provided by the bull provider to enqueue jobs.
Example:
Please note that #app is an alia that was created by me, and isn't in adonis by default... So if you want to use it, you will need to add it in your tsconfig and package.json
import app from '@adonisjs/core/services/app'
import bull from '@acidiney/bull-queue/services/main'
import RegisterStripeCustomer, {
RegisterStripeCustomerPayload,
} from '#app/jobs/register_stripe_customer'
await app.booted(async () => {
bull.dispatch(RegisterStripeCustomer.name, { userId: '123456' } as RegisterStripeCustomerPayload)
})
Generate new job classes using the node ace make:job {job} command.
Example:
// app/jobs/register_stripe_customer.ts
import { JobHandlerContract, Job } from '@acidiney/bull-queue/types'
export type RegisterStripeCustomerPayload = {
userId: string
}
export default class RegisterStripeCustomer
implements JobHandlerContract<RegisterStripeCustomerPayload>
{
public async handle(job: Job<RegisterStripeCustomerPayload>) {
// Logic to register a Stripe customer
const { userId } = job.data
// Perform Stripe registration process
}
public async failed(job: Job<RegisterStripeCustomerPayload>) {
// Logic to handle failed job attempts
const { userId } = job.data
// Send notification or log failure
}
}
Register the new job into start/jobs.ts
// start/jobs.ts
import RegisterStripeCustomer from '#app/jobs/register_stripe_customer'
const jobs: Record<string, Function> = {
[RegisterStripeCustomer.name]: () => import('#app/jobs/register_stripe_customer'),
}
export { jobs }
Define the handle method to execute job logic and the failed method to handle failed attempts.
config/queue.ts file.Initiate the queue worker using the node ace queue:listen command.
Example:
node ace queue:listen:ui
By default, the UI will be accessible at localhost:9999/admin. You can specify a different port using the --port option:
node ace queue:listen:ui --port=3939
Additionally, you can specify the queues to listen to:
node ace queue:listen:ui --queue=stripe
In case you want to start a custom queue, do not forget to name it when you dispatching it
import app from '@adonisjs/core/services/app'
import bull from '@acidiney/bull-queue/services/main'
import RegisterStripeCustomer, {
RegisterStripeCustomerPayload,
} from '#app/jobs/register_stripe_customer'
await app.booted(async () => {
bull.dispatch(
RegisterStripeCustomer.name,
{ userId: '123456' } as RegisterStripeCustomerPayload,
{
queueName: 'stripe',
}
)
})
This command starts the queue worker and launches the UI for convenient management and monitoring of your queues.
Acidiney Dias
FAQs
`@acidiney/bull-queue` is a powerful queue system designed specifically for AdonisJS applications, leveraging the reliability and scalability of BullMQ, a Redis-based queue for Node.js. Derived from `@rlanz/bull-queue`, it offers enhanced functionality ta
We found that @rowboat/bull-queue demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.