문제

I have a Quartz trigger that is set to execute a process every minute.

Since concurrent is set to false, if the process takes longer than a minute, future triggers are prevented. However, does this mean that the trigger that attempted to run is now "standing in line" and waiting to be executed?

For example, if the process takes 10 minutes to execute, will there be 10 triggers sitting there waiting to execute. I am attempting to prevent a buildup on the server.

도움이 되었습니까?

해결책

No. If concurrency is set to false (with anottation @DisallowConcurrentExecution) further jobs won't start if actual is still running.

See Job State and Concurrency in docu.

다른 팁

The accepted answer is not correct. I just did the test with quartz 2.2.3 and the jobs are indeed put on the back burner. Meaning if the time to process the job is superior to the time between jobs, you will pile up the jobs.

The documentation provided by @1ac0 is not mentioning anything apart the job will not run 'immediately'.

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