Объедините нормальную работу с уникальной работой с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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