我想为WorkManager (gradle dependency - implementation 'android.arch.work:work-runtime:1.0.1').
添加RETRY机制
我尝试应用持续时间少于10秒的BackOff Policy,甚至管理器仅在10秒后重试调用API。
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 } ]
答案 0 :(得分:2)
嗨,我相信根据文档,最小退避时间应设置为10秒,退避时间需要设置在MIN_BACKOFF_MILLIS和MAX_BACKOFF_MILLIS之间,请参见文档here