Add the scheduling module
Three replicas of one application against one PostgreSQL database, proving duplicate @Scheduled execution and then removing it with ShedLock: 24 executions where 8 were due, then 7 for 7 ticks. Also measured: @SchedulerLock without @EnableSchedulerLock does nothing and warns about nothing; spring.task.scheduling.pool.size=1 does not starve a fixedRate job but delays it and fires 35 of 40 executions in a burst; and a node whose clock is 40 seconds fast takes a live lock unless the provider uses usingDbTime().
This commit is contained in:
12
scheduling/docs/output/scheduler-pool-1.txt
Normal file
12
scheduling/docs/output/scheduler-pool-1.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
== spring.task.scheduling.pool.size=1 (the default) ==
|
||||
|
||||
over 8 seconds, three @Scheduled methods on one application
|
||||
slow() fixedRate 2000 ms, sleeps 1800 ms : 5 executions
|
||||
fast() fixedRate 200 ms : 40 executions
|
||||
throwing() fixedRate 300 ms, always throws : 27 executions
|
||||
distinct scheduler threads : 1 [scheduling-1]
|
||||
|
||||
longest gap between two fast() executions : 1995 ms (200 ms was the schedule)
|
||||
fast() executions that started within 20 ms
|
||||
of the previous one (the catch-up burst) : 35
|
||||
|
||||
Reference in New Issue
Block a user