Объедините нормальную работу с уникальной работой с помощью WorkManagerAndroid

Форум для тех, кто программирует под Android
Anonymous
Объедините нормальную работу с уникальной работой с помощью WorkManager

Сообщение Anonymous »

Можем ли мы создать рабочую цепочку, в которой первая работа будет обычной, а вторая — уникальной? Примерно так:

Код: Выделить всё

val saveToPendingList = OneTimeWorkRequest.Builder(SavePendingListWorker::class.java)
.build()

val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()

val firebaseUpload = OneTimeWorkRequest.Builder(FirebaseUploadWorker::class.java)
.setConstraints(constraints)
.build()

// Chain the work requests: saveToPendingList -> firebaseUpload (unique)
WorkManager.getInstance(context)
.beginWith(saveToPendingList)
.then(
WorkManager.getInstance(context)
.beginUniqueWork(uniqueWorkName, ExistingWorkPolicy.KEEP, firebaseUpload)
)
.enqueue()
Первая работа всегда должна выполняться, даже если запущен один или несколько экземпляров одного и того же работника. Но в случае второй работы, если один экземпляр уже находится в ожидании или запущен, не ставьте новый в очередь, сохраните старый.
Короче говоря, должен быть только один экземпляр firebaseUpload
Короче, должен быть только один экземпляр firebaseUpload
code> работать одновременно.

Подробнее здесь: https://stackoverflow.com/questions/785 ... orkmanager

Вернуться в «Android»