0

我有一些用于工作人员的脚本,每次我尝试执行一个特定的工作人员时,它都会执行我拥有的所有脚本工作人员。

这就是我运行脚本工作者的方式:

val stockTakingSync = PeriodicWorkRequest.Builder(
            UploadStockTakingSyncWorker::class.java,
            interval,
            TimeUnit.MILLISECONDS)
            .setConstraints(myConstraints)

    val stockTakingSyncWork = stockTakingSync.build()
    WorkManager.getInstance()?.enqueue(stockTakingSyncWork)

但这是我得到的回报:

07-22 07:35:08.789 1327-1387/com.mockie.daikokuten D/:dump doSync: PrdPriceSyncWorker called
07-22 07:35:08.796 1327-1386/com.mockie.daikokuten D/:dump doSync: PrdSizeWorker called
07-22 07:35:08.803 1327-1388/com.mockie.daikokuten D/:dump doSync: PrdTypeSyncWorker called
07-22 07:35:10.120 1327-1404/com.mockie.daikokuten D/:dump doSync: PrdTypeSyncWorker called
07-22 07:35:10.123 1327-1386/com.mockie.daikokuten D/:dump doSync: PrdSizeWorker called

如您所见,所有工作人员也在执行它。

4

2 回答 2

0

这是一个错误,我们将其作为alpha05. 这仅发生在PeriodicWorkRequests 中。有关更多信息,请查看https://issuetracker.google.com/issues/111195153

于 2018-07-23T22:58:37.400 回答
0

观察一段时间后,它似乎WorkManager.getInstance()?.enqueue(stockTakingSyncWork)也触发了您之前已经注册的所有先前计划/排队的任务

即使您已经删除了所有脚本以运行 WorkManager,setPeriodicSyncRUN APP不会取消/删除任何脚本。您必须卸载该应用程序才能摆脱任何以前的排队任务。DEBUG APP

于 2018-07-22T11:07:06.150 回答