Я хочу загрузить некоторые объекты на сервер. Я использую менеджер работ и uniqueWork, чтобы не загружать дубликаты объектов. Работа ограничена, поэтому они работают только при наличии подключения к Интернету. Проблема в том, что я хочу, чтобы каждый из этих объектов загружался по одному, но вся работа происходит одновременно.
Я знаю, что могу использовать beginWith и workContinuations для последовательного выполнения работы, но, к сожалению, несколько объектов могут быть созданы в разное время, поэтому у меня нет доступа ко всей работе во время ее создания.
val workRequest = OneTimeWorkRequestBuilder<UploadWorker>()
.setConstraints(networkConstraint)
.build()
WorkManager.getInstance()
.enqueueUniqueWork(uniqueName, ExistingWorkPolicy.KEEP, workRequest)
Я предполагал, enqueue
означало, что вся работа будет выполняться по очереди, как очередь. Есть ли способ заставить его работать таким образом?