问题标签 [workmanagers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
496 浏览

android - 是否可以在打盹模式或应用待机期间运行 Android 定期和一次性工作人员?

我有一个应用程序,它使用定期和一次性工作人员来执行各种任务,其中一些需要网络连接。我的客户向我报告说,在他根本不使用该应用程序的那一天,他没有执行某项必需的日常任务。尽管应用程序在某一天没有运行,但工作人员仍然需要运行才能向后端服务器报告各种统计信息。我认为这是因为该应用程序一整天都处于应用程序待机模式,并且设备至少在一天中的部分时间处于打盹模式。所以我的问题是,是否可以在应用程序处于应用程序待机或打盹模式时让定期或一次性工作人员运行,还是会一直延迟到设备和/或应用程序唤醒?

或者,我是否会更好地使用警报而不是工人?我看到可以使用setExactAndAllowWhileIdle()“即使系统处于低功耗空闲模式也允许执行”来设置警报。“空闲模式”是否意味着打盹和/或应用程序待机模式?

我一直在努力解决这个问题,因此非常感谢任何帮助和/或指导。

0 投票
0 回答
719 浏览

android - ListenableWorker 中的 setProgressAsync 未向 LiveData 发送更新

我必须实现一个库来创建它自己的线程来执行。现在,必须在后台启动库执行,因此使用ListenableWorker.

但是,setProgressAsync 不会更新 LiveData。

这是代码,

和实时数据,

由于某种原因,setProgressAsync没有更新Livedata.

0 投票
1 回答
400 浏览

android - 如何在 CoroutineWorker 中获取 WorkRequest Id

我有一种情况需要发送WorkRequest.id给 CoroutineWorker。

我正在处理来自的 Room DB CoroutineWorker,现在在 DB 的一个列中,我需要存储 WorkRequest.id (UUID),以便当用户从 recyclerview 的任务列表中取消任务时,我可以知道哪个 WorkRequest要取消的 UUID。

现在我的问题是 WorkRequest 的 id 是在数据分配给之后创建的setInputData(),所以在创建 id 之前,我怎样才能将 WorkRequest.id 发送给我的工人。

有没有办法在创建 WorkRequest 后向 CoroutineWorker 发送额外的数据?

0 投票
2 回答
1177 浏览

android - java.lang.IllegalStateException: WorkManager 已经初始化。即使工作管理器未初始化

我正在尝试进行自定义工作管理器初始化。我不希望工作经理一开始就被初始化,我只想在登录成功时才初始化。但即使工作管理器未初始化,我总是会收到以下异常:

下面是我的清单文件,我禁用了工作管理器的默认初始化:

下面是我的应用程序类,我已经实现了 Configuration.Provider:

如果登录成功,我正在尝试在 LoginFragment 中初始化工作管理器,如下所示:

请让我知道我缺少什么以及为什么我无法在登录片段中初始化工作管理器,我还没有在任何其他地方初始化工作管理器,但为什么我仍然得到工作管理器已经初始化的异常?

0 投票
0 回答
280 浏览

flutter - 如何在 Flutter 的 workmanager 中使用 sharedPreferences 中的参数?

我正在尝试根据用户保存在 sharedPreferences 上的参数发送通知,并将其添加到 url 以进行呼叫。如果我写了 savedCity 通知是有效的,但是当我尝试从 sharedPreferences 获取时它失败了。我怎样才能使这项工作?

}

0 投票
1 回答
152 浏览

android - For how long can a Worker in Android keep retrying doing a request?

This is my first question in StackOverflow, so please excuse me for any common mistake I could make. I´m using a CoroutineWorker in Android to make a mutation in GraphQL, the idea is mainly to receive thru a push notification a Token and then, with this Worker send a mutation to the server.

I've managed to do it just fine, but I´m analyzing how this worker behaves when I add a BackOff Strategy to it. Let´s say that this worker sends this first mutation, and for some reason, the server is down... so no problem, with the backOff strategy it will keep sending and retrying. But the question is, for how long keeps retrying without achieving the Result. success() logic? Is there is a limit to it?
I couldn't find any info in the official doc:
Retry and Backoff

This is how my worker looks like:

And this is the backoff strategy I configured:

I would appreciate any help I could get.

0 投票
1 回答
48 浏览

java - websphere 工作管理器超过最大线程数

我已经定义了一个最大线程数 = 16 的工作管理器,它不是可增长的。但是,在日志中我可以看到线程编号高达 180+。

我怀疑由于这个原因,线程正在等待资源并在 180 秒后抛出 JDBC ConnectionWaitTimeoutException。

当最大限制设置为 16 时,为什么会产生这么多线程。我还能检查什么?

0 投票
0 回答
31 浏览

jboss - Wildfly 中的 Spring commonj.Workmanager

我有一个应用程序使用 Spring 的石英调度和 Websphere 的工作管理器,现在我们正在将此应用程序迁移到 Wildfly 服务器,以下是我在 applicationContext.xml 中的配置

如何配置 Wildfly 的 workmanager 以匹配 websphere 的配置?我的 Wildfly 的 jca 子系统已启用,我看到“默认”工作管理器已配置。我是否必须将当前配置为“wm/default”的 applicationContext 中的 JNDI 名称替换为“default”

在此处输入图像描述

0 投票
0 回答
46 浏览

java - 如何在java代码中调用jboss默认工作管理器?

谁能告诉我如何在 java 代码中调用默认的 jboss 工作管理器?我正在将我的代码从 websphere 迁移到 jboss ,所以 jndi 名称没有使用..


{ InitialContext ctx = new InitialContext();


低于错误 javax.naming.NameNotFoundException: wm/default -- service jboss.naming.context.java.global.wm.default

0 投票
0 回答
92 浏览

android - E/WM-WorkerFactory:无法实例化 com.xyz.XYZWorker

我正在使用 Kotlin 开发原生 Android 应用程序。我实现了一个 Worker 类来运行异步 Web 服务调用。除非我不使用dexguard构建,否则我的工人工作正常。仅使用dexguard 构建我得到以下错误

这是我的代码,我屏蔽了一些类名,因为它是客户端项目。我用 Hilt 注入用例。


注入提供的用例




这是我的图书馆