Android Периоды c Планировщик заданий останавливается после 10-12 часов или около того - PullRequest
0 голосов
/ 10 марта 2020

Я настраиваю работу Periodi c, используя API-интерфейс JobScheduler из JetPack / Androidx. Я планирую запускать его каждые 15 минут, с единственным ограничением, когда устройство подключено к какой-либо сети.

Задание назначается и запускается несколько раз в течение 10-12 часов. Когда устройство находится в режиме ожидания или в спящем режиме, частота выполнения задания изменяется, но это нормально. Когда устройство снова включается, задание запускается чаще - пока все хорошо.

Теперь, через 10-12 часов, задание вообще не запускается, даже если я держу устройство / экран на некоторое время Если я просматриваю статус задания periodi c (через WorkInfo), он возвращается как ENQUEUED. Но он никогда не запускается.

Есть идеи, что может быть не так?

Спасибо!

Редактировать: у меня во время определенных запусков задания (когда это запланировано) получаются некоторые исключения (мы намеренно отключаем сервер для проверки некоторых сценариев ios). Таким образом, существуют исключения, такие как SocketException, когда приложение не может подключиться к серверу. Но все эти исключения обнаружены, и ответ всегда Result.success();. Не уверен, если планировщик заданий знает, что это было сгенерировано исключение (хотя и с помощью функции doWork), и автоматически откатывает задание?

...