Pew*_*chu 5 android android-workmanager
我正在使用 WorkManager 将 OneTimeWorkRequests 排队以进行文件上传。这当然需要网络连接,如果设备没有连接并且上传失败,它将按照我指定的重试/退避策略重试。
我的问题很简单:
我可以更改重试的最大退避时间吗?
默认情况下,最大退避时间设置为 5 小时,理想情况下,我想减少这一点,但我一直找不到这样做的方法。
请参阅我的代码以将工作请求排队如下:
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
OneTimeWorkRequest uploadRequest = new OneTimeWorkRequest.Builder(UploadFileWorker.class)
.setInputData(createInputDataForUri(file.getPath()))
.setConstraints(constraints)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL,
OneTimeWorkRequest.MIN_BACKOFF_MILLIS,
TimeUnit.MILLISECONDS)
.build();
workManager.enqueueUniqueWork(UNIQUE_WORK_FILE_UPLOAD, ExistingWorkPolicy.APPEND, uploadRequest);
Run Code Online (Sandbox Code Playgroud)
我们可以使用 轻松设置 BackoffPolicy(线性/指数)和 backoffDelay .setBackoffCriteria(),并为请求添加初始延迟,但我认为无法自定义重试的最大退避时间。这是设计使然,还是我只是瞎了眼?
| 归档时间: |
|
| 查看次数: |
286 次 |
| 最近记录: |