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