androidx.work.WorkManager: что является основной причиной E / WM-EnqueueRunnable: предварительное условие ... не существует;не ставить в очередь - PullRequest
0 голосов
/ 18 февраля 2019

Я изучаю менеджер работы Android

implementation 'android.arch.work:work-runtime:1.0.0-rc01'

Все мои эксперименты заканчиваются нормально, однако, когда я пытаюсь связать работу с уникальным именем, мои сообщения logcat содержат это

2019-02-18 11:56:37.179 11272-11288/com.chainganger E/WM-EnqueueRunnable: Prerequisite 25d3729f-a7f0-4698-b80d-0fad8b22f5fe doesn't exist; not enqueuing
2019-02-18 11:56:37.367 11272-11288/com.chainganger E/WM-EnqueueRunnable: Prerequisite 73c59e35-f349-4a4d-b46c-9757be46c63b doesn't exist; not enqueuing
2019-02-18 11:56:37.550 11272-11288/com.chainganger E/WM-EnqueueRunnable: Prerequisite a64c6e5d-cdef-477f-a677-75939c1bd083 doesn't exist; not enqueuing
2019-02-18 11:56:37.726 11272-11288/com.chainganger E/WM-EnqueueRunnable: Prerequisite 99c75815-07dd-48fb-8b02-3705b57d9008 doesn't exist; not enqueuing
2019-02-18 11:56:37.926 11272-11288/com.chainganger E/WM-EnqueueRunnable: Prerequisite 2b108a20-3c78-4201-9294-44b0f1dfdc53 doesn't exist; not enqueuing

Эти сообщенияпоявляются, когда я пытаюсь запустить несколько экземпляров одной и той же уникальной работы

Вот мой код

final OneTimeWorkRequest syncStageOne = new OneTimeWorkRequest.Builder(SyncStageOne.class).addTag(SYNC_STAGE_ONE_IN_PROGRESS_TAG).build();
final OneTimeWorkRequest syncStageTwo = new OneTimeWorkRequest.Builder(SyncStageTwo.class).addTag(SYNC_STAGE_TWO_IN_PROGRESS_TAG).build();
mWorkManager.beginUniqueWork(SYNC_CHAINED_UNIQUE_NAME, ExistingWorkPolicy.KEEP, syncStageOne).then(syncStageTwo).enqueue();

Уникальная работа фактически завершается ОК.

Что я сделал не так, чтобы получить эти сообщения об ошибках?

1 Ответ

0 голосов
/ 18 февраля 2019

Они на самом деле не ошибки.Вы, вероятно, пытаетесь связать WorkRequest s, которые больше не существуют из-за Existing{Work|PeriodicWork}Policy.REPLACE.

Я бы не беспокоился о них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...