문제

Tomcat/Jetty 서버에서 정기적 인 작업 (데몬 스레드)을 실행하는 가장/가장 쉬운 방법은 무엇입니까? 스레드를 어떻게 시작합니까? 간단한 메커니즘이 있습니까? 아니면 이것이 나쁜 생각입니까?

도움이 되었습니까?

해결책

ServeletContext에서 java.util.timer (또는 더 나은 예약 사전) 인스턴스를 보관하는 것은 괜찮습니다. Servlet의 Init () 호출로 만들면 모든 서블릿이 타이머스크를 추가 할 수 있습니다.

다른 팁

모든 것을 자바쪽에 유지하려면 석영.
그것은 CRON 작업과 동일한 유연성을 통해 장애 조치와 고급 직종의 반복을 처리합니다.

많은 시스템에서 작동하는 범용적인 방법 중 하나는 단순히 앱에 대해 정기적 인 wget을 수행하는 Cron 작업을하는 것입니다.

Tomcat/Jetty 물건에 대답 할 수는 없지만 Python 기반 웹 앱으로 비슷한 작업을 수행했습니다.

일반적으로 필요한 정기 작업을 수행하는 별도의 앱을 실행합니다. 웹 사이트와 앱 사이에 Interop이 필요한 경우 해당 통신은 일종의 API (XML-RPC/UNIX 소켓 등 사용) 또는 데이터베이스 계층을 통해서도 적절한 경우 발생할 수 있습니다.

도움이되기를 바랍니다.

CRON 작업을 사용하려고하지만 개발 시스템에 대한 관리에 액세스 할 수없는 경우 명령을 실행하여 사용자 Crontab을 수행 할 수 있습니다.

crontab -e

대부분의 시스템에서 기본적으로 VI를 사용하지만 다음을 통해 선택한 편집기로 변경할 수 있습니다.

export EDITOR=/usr/local/bin/my_editor

그런 다음 Crontab -e 명령을 실행하면 편집기에서 Crontab 파일을 시작합니다. 저장하면 변경 사항이 시스템의 CRON으로 다시 커밋됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top