2009-06-22 2 views
7

나는 이미 separate question on how to create time triggered event in Java을 물었다. 나는 Quartz에 소개되었다. 동시에, 나는 또한 온라인으로 그것을 google하고, 사람들은 말하기를 유닉스에서 cron은 청초한 해결책이다.시간 트리거 작업 Cron 또는 Quartz?

어느 것이 더 낫습니까? 죄수 팀과 찬성 팀은 무엇입니까?

시스템의 일부 사양 : * 유닉스 OS * 프로그램 나는 각각의 타임 스탬프를 들어, 1000 개 항목이 작업 큐가 * 트리거 될 수있다 (500 개) 작업까지, 자바 에 작성합니다. cron를 사용

답변

19
  1. Quartz 그것으로 통합 할 때, 응용 프로그램에 다른 진입 점을 추가 할 것으로 보인다. cron에서 호출 된 프로세스간에 정보를 전달하려는 경우 일부 프로세스 간 통신을 처리해야합니다. Quartz에서 간단히 (hehe) 여러 스레드를 실행할 수 있습니다.
  2. cron은 플랫폼에 따라 다르므로 Quartz은 아닙니다.
  3. Quartz을 사용하면 서버가 잠시 작동 중지 된 후 특정 시간 또는 일정 시간 후에 작업이 제대로 실행되도록 할 수 있습니다. Pure cron은 수동으로 처리하지 않는 한 사용자를 대신하지 않습니다.
  4. Quartz에는보다 유연한 표현 언어 (태스크 실행시기)가 있습니다.
  5. 메모리 사용 공간을 고려하십시오. 단일 태스크가 아무것도 공유하지 않거나 거의 공유하지 않으면 운영 체제에서 별도의 프로세스로 실행하는 것이 좋습니다. 그들이 많은 정보를 공유한다면, 하나의 프로세스 내에서 스레드를 쓰는 것이 낫습니다.
  6. cron 접근 방식에서 클러스터링을 어떻게 처리 할 수 ​​있는지 확실하지 않습니다. Quartz은 스케일 아웃 패턴 다음에 Terracotta과 함께 사용할 수 있습니다 (시도하지는 않았지만 실행 가능하다고 생각합니다).
+0

와우! 당신의 광범위한 비교에 정말 감사드립니다! 그게 바로 제가 찾고있는 것입니다. 정말 고마워!!!! – Lily

+0

Quartz는 자체 클러스터링 기능을 가지고 있기 때문에 배포 레이어를 추가 할 필요가 없습니다. 이를 통해 "이 작업을 클러스터에서 어딘가에 실행하십시오"라고 말할 수 있습니다. – skaffman

+0

이 기능은 꽤 인상적입니다. 나중에 클러스터를 다루게 될 것입니다.^_^감사합니다 skaffman ~ – Lily

2

플러스는 모든 시스템 관리자가 사용 방법을 알고 있으며 여러 곳에서 문서화되어 있습니다. cron이 작업을 수행한다면 정말 좋은 솔루션이 될 것입니다.

+0

+1 occam 's 면도기의 응용 프로그램 – user2910265