العودة لأدوات AI Coding
البيانات والتحليلات
Redis Queue (BullMQ)
بناء طوابير مهام موثوقة وعمال خلفية مع BullMQ بقوة Redis للمعالجة الموزعة.
Claude Code Cursor Copilot Windsurf
نظرة عامة
BullMQ هي مكتبة طوابير مهام قوية وغنية بالميزات لـ Node.js مبنية على Redis. توفر معالجة رسائل موثوقة مع دلالات تسليم مرة واحدة على الأقل مما يضمن عدم فقدان المهام حتى لو تعطل العمال. تدعم BullMQ المهام المؤجلة والمهام القابلة للتكرار (cron) وأولويات المهام وتحديد المعدل وتنسيق سير العمل المعقد مع علاقات المهام الأب-الابن.
تستخدم المكتبة Redis Streams وسكربتات Lua للعمليات الذرية مما يوفر ضمانات قوية حول ترتيب معالجة المهام واكتمالها. يمكن للعمال معالجة المهام بالتوازي مع حدود تزامن قابلة للتكوين ويتم إعادة محاولة المهام الفاشلة تلقائياً مع تراجع أسي. يوفر نظام الأحداث رؤية في الوقت الفعلي لتغييرات حالة الطابور وتقدم المهمة وصحة العامل.
BullMQ هي خليفة Bull وتوفر تحسينات كبيرة بما في ذلك دعم التدفقات وخطوط أنابيب المهام متعددة الخطوات والمعالجات المعزولة لتنفيذ المهام المعزول والأحداث العالمية. تتضمن المكتبة واجهة لوحة معلومات (Bull Board) لمراقبة الطوابير وتتكامل مع OpenTelemetry للتتبع الموزع.
تستخدم المكتبة Redis Streams وسكربتات Lua للعمليات الذرية مما يوفر ضمانات قوية حول ترتيب معالجة المهام واكتمالها. يمكن للعمال معالجة المهام بالتوازي مع حدود تزامن قابلة للتكوين ويتم إعادة محاولة المهام الفاشلة تلقائياً مع تراجع أسي. يوفر نظام الأحداث رؤية في الوقت الفعلي لتغييرات حالة الطابور وتقدم المهمة وصحة العامل.
BullMQ هي خليفة Bull وتوفر تحسينات كبيرة بما في ذلك دعم التدفقات وخطوط أنابيب المهام متعددة الخطوات والمعالجات المعزولة لتنفيذ المهام المعزول والأحداث العالمية. تتضمن المكتبة واجهة لوحة معلومات (Bull Board) لمراقبة الطوابير وتتكامل مع OpenTelemetry للتتبع الموزع.
لمن هذه الأداة؟
- معالجة مهام إرسال البريد الإلكتروني في الخلفية
- بناء خطوط معالجة الصور/الفيديو مع مجمعات عمال
- جدولة مهام متكررة مثل توليد التقارير
- تنفيذ تسليم webhook مع منطق إعادة المحاولة
التثبيت
إعداد Claude Code
npm install bullmq الإعدادات
import { Queue, Worker } from "bullmq"
const emailQueue = new Queue("emails", {
connection: { host: "localhost", port: 6379 },
})
await emailQueue.add("welcome-email", {
to: "user@example.com",
subject: "Welcome!",
})
const worker = new Worker("emails", async (job) => {
await sendEmail(job.data)
}, { connection: { host: "localhost", port: 6379 }, concurrency: 5 }) استكشف أدوات AI
أدوات AI تكمل شغلك — للمصممين والمطورين
اقرأ مقالات عن AI
نصايح عملية في التصميم والذكاء الاصطناعي
أدوات مشابهة
البيانات والتحليلات
Sentry Error Tracking
مراقبة الأخطاء في الإنتاج وتحليل أسبابها مع ربطها بالأكواد المسببة تلقائيًا.
Claude Code Copilot Cursor
البيانات والتحليلات PostHog Product Analytics
تتبع سلوك المستخدمين وتحليل مسارات التحويل لاتخاذ قرارات مبنية على البيانات.
Claude Code Cursor Copilot
البيانات والتحليلات Database Query Builder
توليد استعلامات SQL محسّنة وتحويل الأسئلة النصية إلى استعلامات قاعدة بيانات.
Claude Code Copilot Cursor