2017-09-23 1 views
0

데이터베이스에있는 항목을 확인하고 싶습니다. 분 (생성 후 y 분).시간 차이를 확인하는 가장 효율적인 방법

나는 이것을 할 수있는 두 가지 방법을 생각해 냈다. 그리고 더 나은 효율성/속도를 가져올 지 확신 할 수 없다.

첫 번째

모든 x분 cron 작업의 내부

Model.find({time_created > current_time - y}) 

같은 것을 모델에 날짜 필드를 저장하는 것입니다.

xy을 기준으로 얼마나 많은 시간을 기록하는지 유지하는 두 번째 필드는 times_to_check 필드입니다. 개체를 확인해야합니다. Dates의 첫 번째 비교가 더 오래 걸릴 것이기 때문에이 두 비교할 수 있습니다 이유에

Model.find({times_to_check> 0}) 

내 생각은하지만, 객체가 확인 된 후 두 번째는 데이터베이스에 쓰기가 필요합니다.

답변

0

그래서 어느 방법을 사용해도 데이터베이스를 지속적으로 검사하여 컬렉션을 쿼리 할 시간이 있는지 확인해야합니다. "두 번째 솔루션"에서는 컬렉션 델타를 결정하는 방법 만 참조 할 때 백그라운드 프로세스를 실행할 방법이 없습니다.

유닉스 크론 작업을 실행하고 있지만 응용 프로그램이 작동 중일 때 실제로 실행 중인지 확인하는 것이 내결함성이 있는지 확인하십시오. 아래는 그것을 어떻게 다루는 지에 대한 꽤 좋은 대답입니다.

How do I write a bash script to restart a process if it dies?

내가 물어 보곤 그 내용을 기반 크론 작업이 분, 시간 또는 일의 X 번호를 실행하지 않은 경우 응용 프로그램이 반응 수행 방법에 대해 설명합니다. 이러한 일이 발생하면 애플리케이션이 어떻게 복구됩니까?

관련 문제