فاينفرفاينفر
EN
برمجة 2 min read

كيفية إعداد Bull Board في NestJS (دليل بسيط)

Aysha Farha

Aysha Farha

April 9, 2026

دليل بسيط لإعداد Bull Board في مشروع NestJS لمراقبة طوابير BullMQ من لوحة تحكم ويب.

في هذا الدليل سأوضح كيفية إعداد Bull Board في مشروع NestJS.
Bull Board لوحة تحكم واجهة مستخدم لمراقبة طوابير BullMQ (المهام، الحالة، إعادة المحاولة، إلخ).

شاهد المثال العملي: https://github.com/habilm/bullmq-nestjs


ما هو Bull Board؟

يمنحك Bull Board واجهة ويب يمكنك فيها:

  • رؤية جميع المهام في الطابور

  • فحص المهام الفاشلة

  • إعادة محاولة المهام أو حذفها

  • مراقبة نشاط الطابور

    جدولة المهام في Node.js مع BullMQ

الخطوة 1: تثبيت الحزم

نفّذ هذا الأمر:

npm install @bull-board/api @bull-board/express

الخطوة 2: إنشاء إعداد Bull Board

أنشئ ملفاً مثل bull-board.ts:

import { ExpressAdapter } from '@bull-board/express';
import { createBullBoard } from '@bull-board/api';
import { Queue } from 'bullmq';
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';

export function setupBullBoard(app: any, emailQueue: Queue) {
  const serverAdapter = new ExpressAdapter();
  serverAdapter.setBasePath('/admin/queues');

  createBullBoard({
    queues: [new BullMQAdapter(emailQueue)],
    serverAdapter,
  });

  app.use('/admin/queues', serverAdapter.getRouter());
}

الخطوة 3: تحديث main.ts

الآن اربط Bull Board بتطبيق NestJS.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { setupBullBoard } from './bull-board';
import { emailQueue } from './queue';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  setupBullBoard(app, emailQueue);

  await app.listen(3000);
}
bootstrap();

الخطوة 4: تشغيل التطبيق

شغّل تطبيق NestJS:

npm run start

الخطوة 5: فتح Bull Board

افتح المتصفح:

http://localhost:3000/admin/queues

سترى:

  • قائمة المهام

  • المهام المكتملة

  • المهام الفاشلة

  • تفاصيل الطابور


نصائح

  • يمكنك إضافة عدة طوابير:

queues: [
  new BullMQAdapter(emailQueue),
  new BullMQAdapter(paymentQueue),
]
  • احمِ المسار (/admin/queues) بالمصادقة (مهم للإنتاج)

  • استخدم Redis منفصلاً لأحمال الإنتاج


مثال باستخدام وسيط Express:

import * as basicAuth from 'express-basic-auth';

app.use(
  '/admin/queues',
  basicAuth({
    users: { admin: 'password' },
    challenge: true,
  }),
);

الخلاصة

الآن أعددت Bull Board في تطبيق NestJS 🎉 يمكنك مراقبة الطوابير بسهولة وإدارة المهام دون مراجعة السجلات.

Related Blogs

Related Blogs

لقد أنشأنا NestJs DuckDB: تكامل بسيط لـ DuckDB مع NestJS
برمجة
July 23, 2026

لقد أنشأنا NestJs DuckDB: تكامل بسيط لـ DuckDB مع NestJS

كمطورين، نستخدم غالبًا قواعد بيانات مثل PostgreSQL أو MySQL أو MongoDB عند بناء تطبيقات الواجهة الخلفية باستخدام NestJS. ولكن ليست كل مشكلة بيانات تتطلب إعداد قاعدة بيانات تقليدية.

BullMQ وBull-Board مع NestJS — تحكّم كامل في معالجة الطوابير
برمجة
February 11, 2025

BullMQ وBull-Board مع NestJS — تحكّم كامل في معالجة الطوابير

هل عانيت يوماً من تشغيل وصيانة عدد كبير من السكربتات؟ BullMQ هنا ليسهّل حياتك!

كيفية تثبيت BullMQ في NestJS (دليل بسيط)
برمجة
April 8, 2026

كيفية تثبيت BullMQ في NestJS (دليل بسيط)

دليل بسيط لتثبيت واستخدام BullMQ في مشروع NestJS لمعالجة المهام الخلفية مثل إرسال البريد ومعالجة الصور دون إبطاء تطبيقك.