문제

백그라운드 작업을 구현할 수있는 방법이있는 경우 Workers Pool에서는 궁금합니다.방향을 보여줄 수 있습니까? 나는 이것을 위해 패키지를 쓰는 것에 대해 생각하고 있습니까?

도움이 되었습니까?

해결책

2019 업데이트

아무 것도 패키지를 쓰는 것에 대해 생각하기 전에 먼저 필요한 것을 수행하는 기존 패키지가 있는지 먼저보십시오. Meteor World에서는 "직업 / 대기열 / 작업 / 작업자 관리 / 예약"패키지의 대기를 찾고 동일한 검색어로 NPM에서 찾는 것을 의미합니다. 또한 요구 사항을보다 정확하게 정의해야합니다.

  • 지속성을 원하십니까? 아니면 메모리 내 솔루션이 작동합니까?
  • 다른 컴퓨터에 작업을 배포 할 수 있도록 원하십니까?

유성 - 특정

버려진 패키지 :

npm 패키지

유성은 NPM 패키지를 몇 년 동안 직접 사용할 수 있었기 때문에이 질문은 job / worker / queue 관리 패키지 npm. 지속성을 상관하지 않으면 :

  • async "는 일반적인 '기능적'용의자 (map, generacodicicetagcode, reduce, filter ...)뿐만 아니라 비동기 제어 흐름 (each, parallel, series ...) "
  • D3 대기열 - 미니멀 리즘, D3 작성자 Mike Bostock

Meteor는 이미 MongoDB를 사용하기 때문에 MongoDB에 대한 지속성이있는 작업 스케줄링 패키지를 사용하는 것이 유리할 수 있습니다. 가장 강력하고 인기있는 것은 Agenda 이지만 불행히도 몇 달 안에 유지되지 않았습니다. 이슈

의 중요한 백 로그가 있습니다.

"nofollow noreferrrer"> Redis 가 뒷받침하는 종속성을 기꺼이 추가하려는 경우 더 많은 선택 사항이 있습니다 : < / P>

RRRER "> KUE - 노드 의 우선 순위 작업 대기열

MongoDB와 마찬가지로 Redis는 또한 고 가용성을 제공합니다 (Redis Sentinel을 통해). 여러 작업자 컴퓨터간에 작업을 배포하려는 경우 동일한 Redis 서버에서 모두를 가리 킵니다.

다른 팁

특정 간격이나 날짜에 대한 작업을 예약하는 데 사용할 수있는 CRON 작업을 기반으로하는 패키지가 있습니다.다음은 패키지입니다 : https://atmosphere.meteor.com/package/cron 그리고 해당 패키지의 소스를 살펴 보도록 요청하면 단순히 사용하는 것입니다 :

Meteor.setInterval( ... , delay );

데이터베이스에 작업을 저장 한 다음 시작 중에 간격으로로드 한 다음 올바른 트랙에있을 것입니다.

유성과 관련된 무언가를 찾고 있다면 스티브 잡스 (Steve Jobs)라는 새로운 패키지가 있습니다.메소드를 호출하는 것처럼 배경 작업을 쉽게 실행할 수 있습니다.

작업 실행, 실패한 작업을 다시 시도하는 등 모든 표준 기능이 있습니다.GitHub에서 더 많은 것을 배울 수 있습니다 :

http://github.com/msavin/stevejobs

나는 적절한 지원이 그들의 로드맵에 있다고 추측하고 있지만, 그 동안 나는 setInterval를 통해 해피 방식으로가는 것을 관리 할 수있었습니다. cron-tick 패키지를 참조하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top