Meteor에서 데이터 분석 도구를 구축 중이며 Meteor 서버 종료 및 재시작 문제가 발생합니다. 서버 측에서는 setInterval
에 몇 가지 외부 API를 ping하고 아직 캡처하지 않은 새 데이터로 응답을 트리밍하고 해당 새 데이터에 대한 계산 배치를 실행 한 다음 Mongo에 계산 결과를 저장합니다. 외부 API로부터받은 새로운 데이터의 모든 덩어리마다 15 개의 다른 함수/계산이 필요하며 15 개의 출력은 Mongo에 개별 문서로 저장됩니다. 클라이언트 측 사용자는 15 가지 문서 중 하나를 구독 할 수 있으므로 원하는 방식으로 데이터를 볼 수 있습니다.Meteor Shutdown/Restart Interrupting 서버 측 기능 실행 중
new data is captured from the API as {A} and {A} is stored in Mongo
|
begin chain
|
function1 -> transforms {A} into {B} and stores {B} in Mongo
|
function2 -> transforms {A} into {C} and stores {C} in Mongo
|
...
|
function15 -> transforms {A} into {P} and stores {P} in Mongo
|
end chain
문제는, 내가 유성를 종료하거나 (자동으로 서버를 다시 시작합니다) 서버에 새로운 코드를 배포 할 때, 루프 이러한 기능을 통해 반복이 중단되고 있다는 점이다. 기능 1-7이 성공적으로 실행되었다가 다시 실행되면 Meteor가 다시 시작되어 기능 8-15가 절대로 실행되지 않게됩니다 (또는 9-15가 실행되지 않는 동안 기능 8이 중단되는 경우). 이로 인해 내 문서가 더 이상 루프가 시작되기 전에 저장된 {A} 데이터와 동기화되지 않습니다.
이 위험을 어떻게 줄일 수 있습니까? Meteor에게이 프로세스가 완료 될 때까지 정상적으로 종료/대기하도록 알릴 수 있습니까? 감사!