기본적으로 Quartz Scheduler의 구현을 사용 중이고 동시에 여러 작업을 실행하려고하지만 일부는 다른 태스크보다 먼저 실행해야한다. 이를 위해 Trigger에 대해 "priority"매개 변수를 찾았습니다.Quartz Scheduler 트리거가 우선 순위를 따르지 않음
그래서 각각 4 개의 작업이 있고 각 작업마다 자체 트리거가 있다고 가정 해 보겠습니다. 나는이 같은 우선 순위 설정 : 작업 1 - 우선 순위를 5 작업 2 - 우선 순위 3 job3 - 우선 순위 11 job4 - 우선 순위 8
내가 그들을이 순서대로 실행하려는 : job3, job4, 작업을, 1, job2
20 회 중 3 회 정도 예상 결과가 나옵니다. 나머지 작업의 경우 실행할 첫 번째 작업은 거의 무작위이며 나머지 작업은 올바르게 정렬됩니다. 작업 1, job3, job4, 작업 2 또는 job4, job3, 작업 1, 작업 2
오전 나는 우선 순위 석영에서 작동하는 방법을 제대로 이해하지 : 하나 개의 실행은 같은 것입니까? 나는 무슨 일이 일어나고 있는지 정확히 알 수 없다.
스레드 풀 크기는 무엇입니까? 사용 가능한 스레드보다 더 많은 작업이 실행되는 상황으로 실행합니까? 모든 작업이 동일한 예약 시간을 갖고 있고 쿼츠가 자유 스레드를 사용하여 모든 우선 순위 실행을 실행하는 경우 – Srinivas
스레드 풀 크기가 1입니다. ,이 예제에서처럼 http://www.quartz-scheduler.org/documentation/quartz-2.x/examples/Example14.html 우선 순위에 따라 태스크를 실행해야하는 것은 무엇이든간에 – Mocktheduck
우리는 살펴야 만한다. 두가지. 1) 귀하의 직업은 어떻게 계획되어 있습니까? 당신은 모든 직업에 대해 동일한 cron을 가지고 있으며, 동시에 발사 할 것을 기대합니까? 아니면 multipleWillDelay와 같은 것을 사용하여 여러 차례 실행을 계획합니까? 2) 귀하의 직업에 대한 NextFireTime을보고 더 많은 통찰력을 줄 수 있습니다. 모든 작업이 동시에 실행되도록 예약 된 경우에만 우선 순위가 나타납니다. 화재 시간이 다른 경우 가장 오래된 예정 ToFire 시간이있는 작업이 – Srinivas