노드 JS에서 셀러리와 동등한 값
비동기 작업을 실행하려면 노드 JS의 셀러리와 동등한 값을 제안하십시오.다음을 검색할 수 있었습니다.
저는 수동 스레드와 자동 스레드를 백그라운드에서 모두 실행하고 MongoDB와 상호 작용합니다.
노드 셀러리가 Mongo DB가 아닌 redis DB를 사용하고 있습니다.제가 그것을 바꿀 수 있는 방법이 있습니까?설치할 때 node-celeries redis가 종속성으로 설치되었습니다.
셀러리가 처음이라 안내 부탁드립니다.감사해요.
셀러리는 기본적으로 토끼입니다.MQ 클라이언트.생산자(작업자), 소비자(작업자) 및 작업자 간에 메시지를 전달하는 AMQP 메시지 브로커가 있습니다.
이를 알면 node.js에 셀러리를 직접 작성할 수 있습니다.
노드 셀러리는 노드 프로세스가 셀러리 클라이언트(생산자/출판사)와 셀러리 워커(소비자)로 모두 작동할 수 있도록 하는 라이브러리입니다.
https://abhishek-tiwari.com/post/amqp-rabbitmq-and-celery-a-visual-guide-for-dummies 을 참조하십시오.
편집-1/2018
제가 추천하는 것은 지금은 Kue를 사용하지 않는 것입니다, 프로젝트가 지연된 것 같으니, 대신 Celery를 사용하십시오.커뮤니티에서 매우 잘 지원 및 유지관리되고 있으며 많은 수의 사용 사례를 지원합니다.
오래된 대답
Kue를 찾아보세요. Python 단어의 Celery와 유사한 전체론적 솔루션입니다. 생산자/소비자, 지연된 작업, 작업 재심의, 작업 TTL, 동일한 대기열을 청취하는 여러 소비자 간에 작업을 라운드로빈하는 기능 등의 개념을 가지고 있습니다.
아마도 셀러리는 더 많은 브로커가 지원할 수 있는 더 많은 기능과 함께 더 발전했을 것이고 원한다면 셀러리 노드를 사용할 수도 있지만, 제 생각에는 90%의 경우에만 충분한 언어를 사용할 수 있는 경우에는 파이썬과 노드를 설치해야 하는 하이브리드 솔루션을 선택할 필요가 없다고 생각합니다.
Kue를 찾아보세요. Python 단어의 Celery와 유사한 전체론적 솔루션입니다. 생산자/소비자, 지연된 작업, 작업 재심의, 작업 TTL, 동일한 대기열을 청취하는 여러 소비자 간에 작업을 라운드로빈하는 기능 등의 개념을 가지고 있습니다.
큐는 오랜 시간이 지난 후에도 여전히 오래된 핵심 문제를 해결하지 못하고 있습니다.
- github.com/Automattic/kue/issues/514
- github.com/Automattic/kue/issues/130
- github.com/Automattic/kue/issues/53
만약 이 글을 읽는 사람이 큐를 다시 쓰고 싶지 않다면, 그것으로 시작하지 마세요.이것은 간단한 작업에 좋습니다.하지만 한 작업이 다른 작업을 생성할 때 동시에 또는 작업 체인을 많이 처리하려면 시간 낭비를 중단해야 합니다.
큐를 디버깅하느라 한 달을 허비했지만 여전히 성공하지 못했습니다.최상의 선택은 RabbitMQ 및 Rabbot(다른 Rabbot)의 Pubs/sub Messaging 큐를 변경하는 것이었습니다.MQ 마무리).
개인적으로, 저는 그것을 위해 모든 것을 쏟아 붓기 위해 셀러리를 많이 사용하지 않았지만, 셀러리의 대안을 찾고 누군가 큐를 위해 조언하는 방법을 발견하면서 제 피를 끓였습니다.
지연된 전자 메일을 보내고 싶다면(큐 예제에서처럼) 오류 걱정 없이 원하는 대로 보낼 수 있습니다.그러나 신뢰할 수 있는 시스템 작업/메시지 큐를 원한다면 큐로 시작하지도 마십시오.저는 개인적으로 5. 노드 셀러리(노드 셀러리)로 하겠습니다.
https://github.com/OptimalBits/bull 도 언급할 가치가 있습니다.안정성과 원자성을 위해 작성된 빠르고 안정적인 Redis 기반 대기열입니다.
Bull 4는 현재 베타 버전이며 몇 가지 멋진 기능이 있습니다. https://github.com/taskforcesh/bullmq
우리의 경험으로 볼 때, 큐는 믿을 수 없었고, 일자리를 잃었습니다.물론이죠, 이전 버전을 사용하고 있었는데, 아마 그 이후로 수정되었을 것입니다.그것은 또한 TJ가 프로젝트를 포기하고 새로운 유지관리자가 선정되지 않은 기간이었습니다.우리는 콩나무로 바꾸었고 매우 행복했습니다.https://github.com/ceejbot/fivebeans 을 노드 인터페이스로 사용하고 있습니다.
언급URL : https://stackoverflow.com/questions/28470796/equivalent-of-celery-in-node-js
'programing' 카테고리의 다른 글
When should I use fputs instead of fprintf? (0) | 2023.06.19 |
---|---|
CASE 및 COALESCE 단락 평가는 PL/SQL의 시퀀스에서는 작동하지만 SQL에서는 작동하지 않습니다. (0) | 2023.06.19 |
Python의 열린 파일에서 경로 가져오기 (0) | 2023.06.19 |
재귀 하위 쿼리 팩터링을 사용한 주기 감지 (0) | 2023.06.19 |
루비에게 가장 좋고 쉬운 GUI 라이브러리는 무엇입니까? (0) | 2023.06.19 |