2012-05-29 4 views
1

cron 작업 스케줄러를 사용할지 또는 프로그램 자체에서 sleep 함수를 사용할지 혼란 스럽습니다. 이전에는 이것에 대한 질문이 있지만 여러 가지 요구 사항이있는 것 같습니다.job scheduler 또는 sleep() 함수 사용 여부

전 프로그램 실행에서 몇 가지 정보가 필요합니다. 따라서 cron을 사용하여 작업을 예약하면 해당 정보를 일부 장소에 저장하고 다음 번에 다시 읽어야합니다. 이 정보의 크기가 커지면 가능함). sleep()을 사용할 수도 있지만 리소스를 사용하게됩니다.

10 분마다 프로그램을 다시 실행해야합니다. 어느 것을 사용하는 것이 더 좋습니다. 누락 된 다른 좋은 방법이 있습니까?

답변

0

일반적으로 이와 같은 이유로 cron을 사용해야합니다.

내가 예상 할 수있는 유일한 문제는 프로그램이 어떻게 든 10 분 이상 실행되면 cron이 10 분 후에 다음 실행을 호출 할 것이라는 것입니다. 이는 기본적으로 매우 긴 경쟁 조건을 만듭니다. 잠자기 한 경우 이전 실행이 끝난 후에 만 ​​잠자 게됩니다.

그러나 프로그램 실행 시간이 짧다고 가정 할 때 cron을 사용하십시오.

+0

옥수수에 조건을 추가하여 이전 일정이 완료되었을 때만 일정을 실행할 수 있습니다. –

+0

사실, 정말 RAM에로드하고 유지하려는 정보의 양에 달려 있습니다. 당신의 주된 관심사는 성능과 관련이있는 것 같아서 우리는 시스템에 대해 더 많은 세부 사항을 필요로 할 것입니다 (스펙, 실행중인 항목, 실행하는 데 얼마나 오래 계획할까요?) 좋은 성능 추정을 제공합니다. –

+0

비슷한 상황에 있습니다. cron 솔루션은 나에게 좀 더 탄력적 인 것처럼 보입니다. 내가 잘못? –