我将文件(由用户选择)排入队列以上传,然后使用 WorkManager 更新同步状态,如下所示:
fun schedule(files: List<String>) {
var cont = workManager
.beginUniqueWork(issueId, APPEND, files.map { workRequest(it) })
.then(updateSyncStatusWork)
.enqueue()
}
它运作良好。但是当用户选择很多文件来查看日志时,我看到很多文件正在同时上传(大约 10 个甚至全部)。并且发生了很多超时。我相信减少并行上传次数会减少超时次数,但我在 WorkManager 或 WorkRequest 中找不到任何允许这样做的 API。
PS我不考虑将它们链接起来,因为上传失败会丢弃所有文件的上传。