Я хотел бы добавить механизм RETRY для WorkManager (gradle dependency - implementation 'android.arch.work:work-runtime:1.0.1').
Я пытался применить политику BackOff с продолжительностью менее 10 секунд и даже после того, как менеджер повторяет вызов API только через 10 секунд.
request.setBackoffCriteria (BackoffPolicy.LINEAR, 5, TimeUnit.SECONDS);
Ниже приведена информация logcat:
2019-05-09 11:51:15.355 25247-25416/ I/WM-WorkerWrapper: Worker result RETRY for Work [ id=2b41ed0d-3aaa-438f-8dda-ddc0e9ff0293, tags={ LoginWork, mobile.android.workers.LoginJobWorker } ]
2019-05-09 11:51:25.779 25247-25416/ I/WM-WorkerWrapper: Worker result RETRY for Work [ id=2b41ed0d-3aaa-438f-8dda-ddc0e9ff0293, tags={ LoginWork, mobile.android.workers.LoginJobWorker } ]