2009-06-03 7 views
5

웹 응용 프로그램 (Linux/Apache/CGI :: Application)에서 일회성 장기 실행 작업을 예약 할 수있는 응용 프로그램을 작성하고 있습니다. 이렇게하려면 "at"명령에 대한 Perl 인터페이스 인 Schedule::At 모듈을 사용합니다. 예정된 작업이 반복되지 않기 때문에 "cron"을 고려하지 않았습니다. 내가 "에서"두 가지 문제가 있지만 : 아파치 프로세스의 소유자가 일정 할 때 내 CGI 응용 프로그램이 suexec를 래퍼에서 실행하지만,하지 않을 경우Perl CGI 애플리케이션에서 일회성 작업을 예약하려면 어떻게합니까?

  1. 일정 잘 작동합니다. 두 환경 (suexec 및 suexec 없음)에서 모두 작동하도록 예약하려면 어떻게해야합니까?
  2. "at"또는 Schedule :: At로 예약 된 프로세스에는 오류보고가 없으며 때로는 예약 된 작업이 자동으로 실패하는 것으로 나타납니다. 예약 된 작업 (스케줄러 자체가 아닌)이 실행되지 않았다는 사실을 기록하는 방법이 있습니까?

"at"로 고정되지 않았으며, 다른 강력한 스케쥴링 방법이있는 경우이를 사용합니다.

감사합니다.

답변

5

The Schwartz에 대해 좋은 말을 들었습니다. 그러나 지연 될 필요는 없습니다. at을 통해 작업을 제출 하겠지만, submit_job 스크립트가 단순한 한 위의 두 가지 문제점을 모두 해결해야합니다.

의 (a주의로, 난 단지 Gearman 사용했습니다, 나는 당신이 바보 같은 당신의 submit_job을 유지할 수 있도록, 메커니즘이에 대한 신뢰할 수있는 작업 대기열, 찾는 "화재 잊지"이라고 생각합니다.)

+0

감사합니다 Gearman 팁입니다. 처음에는 이것이 내가 원하는 것 같습니다. –

+0

Gearman과 Schwartz를 열심히 살펴본 후 Beanstalk이 내 문제에 가장 적합한 해결책이라는 것을 알았습니다. 팁 고마워. –

관련 문제