我一直在检查与其他链接,堆栈溢出,以减少工作经理的时间段,但我发现下面的链接
如何在WorkManager中减少周期工作管理器的时间
上面链接说最短时间是15分钟。
需要将数据从移动设备即时发送到服务器。有没有减少时间段的替代方案?
请在这件事上帮助我。提前感谢。
在工作管理器
中,两个周期性请求之间的最小时间间隔为15分钟
。
阅读本文档:https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest
您不能在工作管理器
中减少它。
如果您想在这种情况下减少时间,您需要使用< code>JobScheduler,它提供了具有特定时间间隔的选项来执行您的请求。
https://developer.android.com/reference/android/app/job/JobScheduler
您可以使用OneTimeWorkRequest
使Worker
,并且在关闭(读取返回)dowWork()
之前,使其再次注册。这将是这样的:
val tenMinuteRequest = OneTimeWorkRequestBuilder<YourWorker>()
.setInitialDelay(10, TimeUnit.MINUTES)
.build()
WorkManager.getInstance(applicationContext)
.enqueue(tenMinuteRequest)
//return Result.Success here or whatever
当您从另一个类中解雇这个工人时,它将< code >做它的< code >工作,并立即重新安排自己的时间,这就是循环。
我设法做的是一种hack。我从doWork()
递归调用了一个方法。然后每次检查时间差,使递归在15分钟前停止。
override suspend fun doWork(): Result {
startTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())
doSomeWork()
return Result.success()
}
private suspend fun doSomeWork() {
Log.d("SomeWorker", "-------> working")
val currentTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())
val diff = currentTime - startTime
if (diff < 12L) {
Thread.sleep(30000) // this is the new time interval
doSomeWork()
}
}
这是完整的worker类:https://gist . github . com/wsa Yan/7f 3a 75d 05332984 e 24 ad 5418 f 0 B1 e 38 b
问题内容: 据我了解,reduce函数带有一个列表和一个function 。然后,它在列表的前两个元素上调用该函数,然后使用下一个列表元素和上一个结果重复调用该函数。 因此,我定义了以下功能: 以下函数计算阶乘。 现在,这不应该给我吗?但是,它给出了。为什么呢 似乎也需要析因。但是,我需要了解原因。 有人可以解释为什么会发生这种情况以及解决方法吗? 我基本上想计算列表中所有条目的阶乘乘积。备份计划
我想要的正确行为是: 我目前的工作: 当我想从B回到A时,我使用了,但在这里一切都很顺利 我真的需要与管理器中包含的片段相同。 有人知道我做错了什么吗? 我的代码: 我已经搜索了一段时间没有结果的解决方案,所以请不要将此标记为重复。 提前感谢。
问题内容: 我目前正在开发一个涉及在Rails服务器上同步联系人的应用程序。我正在使用Redis服务器和sidekiq在后台执行联系人同步。我的数据库是mongodb,我正在使用Mongoid gem作为ORM。工作流程如下: 电话上的联系人通过应用程序传递到Rails服务器,然后在Rails服务器上,它在Redis服务器中排队。 现在,cron作业会触发连接到Redis的sidekiq并完成作业
我正在做一个项目,我有两个线程一起运行。这个项目是一个模拟银行,本质上,我们有一个存款线程和一个取款线程。我有一个存款线程经常运行的问题,导致银行账户的余额上升。(我希望现实生活中也有这个问题。)如何减少一个线程运行的时间? 这是我的主要课程: 以下是取款和存款线程类: 最后她是交易类: 我试图让线程在达到锁定条件之前进入睡眠状态,但不幸的是,它不起作用。
在我的Android应用程序中,我有多个意图服务,它们一个接一个地运行,第一个意图服务是通过广播来三叉戟的。几天前我遇到了Work Manager,非常喜欢Worker和WorkManager类的简单性。与常规意图服务相比,Work Manager的利弊是什么?考虑到将来我可能要编写更多的意图服务,我现在是否应该转到工作经理?另外,哪个选项可以帮助我轻松地测试代码?
我运行jmeter脚本将近一周,今天观察到一件有趣的事情。以下是场景: 概述:我正在逐渐增加应用程序的负载。在上一次测试中,我给应用程序加载了100个用户,今天我将加载增加到150个用户。 150名用户测试结果: > 与上次测试相比,请求的响应时间减少了。(这是个好兆头) 吞吐量急剧下降到上一次测试的一半,负载更少。 我的问题是: > 当我的许多请求失败时,我得到了好的响应时间吗? 注:直到100
我使用GridLayoutManager的回收视图显示自定义画廊在我的应用程序。我已经实现了所有的功能,如画廊。但是有一件小事让我纠结。在一行我有3个图像。但是我需要减少图像之间的空间。在这样做的时候,我不想连续显示超过3张图像,但是图像大小(如果需要)可以增加。
我正试图减少gwt项目的编译时间,使用maven概要文件来设置是需要所有排列还是只需要其中的一部分。 我按照教程在这里:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/ 但是,它没有说明如何创建这两个模块(生产和开发)。这些都是应用程序。gwt。xml文件,如果是,