bullmq
v5.33.1
Dragonfly는 BullMQ와 완벽하게 호환되는 새로운 Redis™ 드롭인 대체품으로, 사용 가능한 모든 CPU 코어를 활용하여 대폭 향상된 성능, 더 빠르고 메모리 효율적인 데이터 구조 등 Redis™에 비해 몇 가지 중요한 이점을 제공합니다. BullMQ와 함께 사용하는 방법에 대해 여기에서 자세히 읽어보세요. |
BullMQ를 사용하는 일부 주목할만한 조직:
설치하다:
$ yarn add bullmq
대기열에 작업을 추가합니다.
import { Queue } from 'bullmq';const queue = new Queue('Paint');queue.add('cars', { color: 'blue' });
작업자의 작업을 처리합니다.
import { Worker } from 'bullmq';const 작업자 = new Worker('Paint', async job => { if (job.name === '자동차') {await PaintCar(job.data.color); }});
완료를 위해 작업 듣기:
import { QueueEvents } from 'bullmq';const queueEvents = new QueueEvents('Paint');queueEvents.on('completed', ({ jobId }) => { console.log('그림 그리기 완료');});queueEvents.on( '실패한', ({ jobId, failedReason }: { jobId: 문자열; failedReason: 문자열 }) => {console.error('error painting', failedReason); },);
이는 단지 표면적인 내용일 뿐입니다. 공식 문서에서 모든 기능 등을 확인하세요.
몇 가지 작업 대기열 솔루션이 있으므로 이를 비교하는 표는 다음과 같습니다.
특징 | BullMQ-프로 | BullMQ | 황소 | 쿠에 | 벌 | 의제 |
---|---|---|---|---|---|---|
백엔드 | 레디스 | 레디스 | 레디스 | 레디스 | 레디스 | 몽고 |
관찰 가능 항목 | ✓ | |||||
그룹 비율 제한 | ✓ | |||||
그룹 지원 | ✓ | |||||
배치 지원 | ✓ | |||||
상위/하위 종속성 | ✓ | ✓ | ||||
디바운싱 | ✓ | ✓ | ✓ | |||
우선순위 | ✓ | ✓ | ✓ | ✓ | ✓ | |
동시성 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
지연된 작업 | ✓ | ✓ | ✓ | ✓ | ✓ | |
글로벌 이벤트 | ✓ | ✓ | ✓ | ✓ | ||
속도 제한기 | ✓ | ✓ | ✓ | |||
일시중지/재개 | ✓ | ✓ | ✓ | ✓ | ||
샌드박스 작업자 | ✓ | ✓ | ✓ | |||
반복 가능한 작업 | ✓ | ✓ | ✓ | ✓ | ||
원자 작전 | ✓ | ✓ | ✓ | ✓ | ||
고집 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
UI | ✓ | ✓ | ✓ | ✓ | ✓ | |
최적화됨 | 채용정보/메시지 | 채용정보/메시지 | 채용정보/메시지 | 채용 정보 | 메시지 | 채용 정보 |
저장소를 포크하고, 몇 가지 사항을 변경하고, 끌어오기 요청을 제출하세요! 자세한 내용이 포함된 기여 문서는 다음과 같습니다.
이 라이브러리를 가능하게 해준 모든 기여자들에게 감사드립니다. 또한 그의 npm Bullmq 저장소를 친절하게 기부한 Leon van Kammen에 대한 특별한 언급도 있습니다.