Я использую Firebase JobDispatcher, чтобы запланировать выполнение задания в определенное время. Я проверил графики заданий на 2-минутные интервалы выполнения. Ниже приведен код JobDispatcher.
job = dispatcher.newJobBuilder()
.setLifetime(Lifetime.FOREVER)
.setService(MerchantJobService.class)
.setTag(JOB_TAG_ID)
.setReplaceCurrent(false)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(executionStartTime, executionEndTime))
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
.setConstraints(Constraint.ON_ANY_NETWORK)
.build();
Я распечатал журналы и обнаружил, что изначально задание выполняется вовремя, но после этого время выполнения становится нестабильным и увеличивается большую часть времени после каждого выполнения. Ниже приведены журналы времени выполнения журналов.
Время выполнения задания -> 120, 150 (в секундах)
1- 12:25:48 --- 12:28:18 === 2 minutes 30 seconds
2- 12:28:18 --- 12:29:18 === 1 minutes 00 seconds
3- 12:29:18 --- 12:32:57 === 4 minutes 39 seconds
4- 12:32:57 --- 12:39:46 === 6 minutes and 49 seconds
5- 12:39:46 --- 12:47:44 === 7 minutes and 58 seconds
ВРЕМЯ РАБОТЫ ЗАДАНИЯ -> 120, 120 (в секундах)
1- 12:51:50 --- 12:54:02 === 2 minutes and 12 seconds
2- 12:54:02 --- 13:15:15 === 21 minutes and 13 seconds
3- 13:15:15 --- 13:24:25 === 9 minutes and 10 seconds
4- 13:24:25 --- 13:33:35 === 9 minutes and 10 seconds