2014-04-06 3 views
2

mod_perl, 특히 Apache2에서 정기적 인 작업을 수행하려면 어떻게해야합니까?mod_perl의 정기 작업

예를 들어 원격 위치에서 일부 데이터를 다시로드하여 처리하고 메모리에 저장해야합니다. 이상적으로 요청이 처리되는 동안이 작업을 수행하고 싶지 않습니다.

나는 우리의 코드베이스에서 결코 알람이 사용되지 않는다는 것을 의심하지 않으므로, 주기적 알람을 설정하는 것만으로는 작동하지 않을 것입니다. 또한 Redis/Memcached와 같은 외부 저장소는 빠르지 만 프로세스의 자체 메모리만큼 빠르지는 않습니다.

저는 이것이 커스텀 시그널 인 pkill과 cron을 사용하여 수행 될 수 있다고 생각합니다. 필요한 경우 클린업 단계까지 신호 처리기 실행이 연기 될 수 있습니다.

하지만 더 간단한 방법이 있을까요? 정말로 뻔한 무엇인가 나는 보지 않는다?

답변

1

아파치에 스레딩 지원 기능을 내장 한 Perl을 작성했다면 시작 스크립트에 스레드를 만드십시오.

그렇지 않다면 모든 Apache 프로세스가 스스로 업데이트되는지 확인하기가 정말 복잡 할 것입니다.