Perl/CGI 응용 프로그램에서 제어되는 대량 메일 스케줄러를 작성 중이며 별도의 작업을 실행하기 위해 CGI 프로그램을 포크하는 "좋은"방법을 배우고 싶습니다. 사람은 그것을해야합니까? 또는 Gearman 또는 TheSchwartz과 같은 별도의 작업 대기열 엔진을 실행하는 오버 헤드가 suggested recently 인 경우 더 나은지 확인하는 것이 좋습니다. CGI :: Application과 같은 MVC 프레임 워크를 바닐라 CGI.pm보다 사용할 때 대답/전망이 바뀌나요? 마지막으로 나는 CGI :: Application Plugin을 염두에두고 가능한 프로젝트에서 왔는데, 이것은 "프로세스를 포크 (fork)"하는 것이 상대적으로 간단하게 호출 할 수있게 해줍니다.Perl CGI 프로그램을 실행하여 장기 실행 작업을 포착하려면 어떻게해야합니까?
4
A
답변
9
Proc :: Daemon을보세요. 가장 간단한 것은 작동합니다. CGI 스크립트에서 CGI 비즈니스 (입력을 받고 브라우저에 응답을 반환)를 수행 한 다음 포크를 수행하고 프로세스를 대몬 화하고 부모를 종료시키는 Proc :: Daemon :: init()을 호출합니다. 그런 다음 스크립트 (현재 데몬)가 장기 실행 작업을 수행하고 완료되면 종료합니다. 데몬으로 실행하는 동안 무언가 (파일, 데이터베이스 레코드)를 업데이트하려고하므로 후속 CGI 호출이 수행 한 작업 (진행 상황)을 확인할 수 있습니다.
0
POE과 같은 것이 유용할까요? 포크 형보다는 이벤트 중심 형이지만 사용자의 요구를 충족시킬 수 있습니다.
관련 문제
- 1. Perl CGI 애플리케이션에서 일회성 작업을 예약하려면 어떻게합니까?
- 2. Wicket : 장기 실행 작업을 처리하는 방법
- 3. 서버에서 Perl CGI 프로그램을 여러 이미지로 보내려면 어떻게해야합니까?
- 4. ASP.NET에서 장기 실행 작업을 처리하기위한 별도의 서비스
- 5. 장기 실행 VBA 작업을 종료하는 방법
- 6. ASP.NET 4에서 장기 실행 작업을 어떻게 수행해야합니까?
- 7. Perl CGI 스크립트에서 XML 데이터를 보내려면 어떻게해야합니까?
- 8. Excel/VBA에서 장기 실행 외부 프로그램을 호출하려면 어떻게해야합니까?
- 9. 아파치없이 perl CGI 스크립트를 실행하려면 어떻게해야합니까?
- 10. Perl CGI 스크립트 시작 시간을 줄이려면 어떻게해야합니까?
- 11. Perl CGI 스크립트로 이미지를 제공하려면 어떻게해야합니까?
- 12. perl/sqlite cgi templates
- 13. mod_perl을 사용하여 CGI :: Application :: Dispatch 작업을 수행하려면 어떻게해야합니까?
- 14. Quartz.Net의 장기 실행 작업
- 15. CSS가있는 Perl CGI 스크립트
- 16. perl cgi 양식 처리
- 17. 레일에서 장기 실행 작업
- 18. 응용 프로그램을 실행하여 터미널 열기
- 19. Windows에서 Perl 5.10에서 wxPerl 작업을 수행하려면 어떻게해야합니까?
- 20. Spring과 Hibernate와의 장기 실행 트랜잭션?
- 21. 장기 실행, 이벤트 중심 Python 프로그램을 구현하는 방법은 무엇입니까?
- 22. 진행률 막대가있는 Catalyst에서 장기 실행 작업을 시작하려면 어떻게합니까?
- 23. Android 장기 실행 응용 프로그램
- 24. 장기 실행 병합
- 25. 장기 실행 프로세스 종료
- 26. 장기 실행 프로세스는
- 27. 이 DTrace 스크립트를 실행하여 응용 프로그램을 프로파일 링하려면 어떻게해야합니까?
- 28. C++ 프로그램에서 perl 프로그램을 실행 중입니다
- 29. VB.NET에서 장기 실행 작업 중에 진행률 막대를 강제로 업데이트하려면 어떻게해야합니까?
- 30. perl cgi | 정의 목록 구문