عن المشروع
nestx-amqp يوفر اتصال AMQP كوحدة NestJS، باستخدام amqp-connection-manager داخليًا. وهو منشور على npm ومرخص تحت MIT License.
الميزات
- يوفر AmqpModule الذي ينشئ AmqpConnectionManager بشكل غير متزامن.
- يوفر مدير اتصال AMQP قابل للحقن عالميًا.
- يوفر مزخرفات طرق مثل @PublishQueue و @SubscribeQueue للاستخدام البسيط.
التثبيت
- yarn add nestx-amqp
الاستخدام
- سجل الوحدة بشكل غير متزامن باستخدام AmqpModule.forRootAsync، مع توفير روابط الاتصال (مثال: amqp://guest:guest@localhost:5672?heartbeat=60).
- احقن مدير الاتصال باستخدام رمز AMQP_CONNECTION. يوضح README منتجًا مجردًا ينشئ قناة مع json:true ودالة إعداد تؤكد وجود قائمة انتظار، وينتظر الاتصال، ويرسل رسائل إلى قائمة الانتظار.
المزخرفات
- @PublishQueue(queue: string | Queue, options?: amqplib.Options.Publish) هو مزخرف طريقة لنشر رسالة إلى قائمة انتظار. تستقبل الطريقة المزخرفة المحتوى وخيارات النشر الاختيارية.
- @SubscribeQueue(nameOrQueue: string | Queue, options?: ConsumeQueueOptions) هو مزخرف طريقة لاستهلاك الرسائل، مع منطق إعادة وضع بسيط. يجمع ConsumeQueueOptions بين prefetch، وexceptionQueue اختياري، وإعدادات إعادة المحاولة الاختيارية (maxAttempts).
- @PublishExchange(exchange: string | Exchange, options?: PublishExchangeOptions) ينشر إلى تبادل؛ يذكر README أنه غير مستقر ويشير إلى اختبارات الوحدة للاستخدام.
- @UseAmqpConnection(name?: string) يحدد الاتصال المسمى الذي سيستخدم مع @PublishQueue أو @SubscribeQueue، ويوصى به عند تطوير حزم npm التي تحتاج اتصالًا مسمى محددًا.
الواجهات
- Queue: الاسم وخيارات AssertQueue الاختيارية.
- Exchange: الاسم والنوع (direct، fanout، topic، headers) وخيارات AssertExchange الاختيارية.
- PublishExchangeOptions: routingKey وخيارات Publish الاختيارية.
- RetryOptions: maxAttempts.
- BaseConsumeOptions: prefetch وexceptionQueue اختياري.
ملاحظات
- يذكر README أن دعم المزخرفات يغطي حاليًا فقط نشر واستهلاك قوائم الانتظار المباشرة.
- تتطلب الأمثلة تسجيل وتفعيل AmqpModule.
- يُقال إن التفاصيل الإضافية متاحة في حالات اختبار الوحدة، ويُشار إلى CHANGELOG.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.