我有一个数据队列,其中有一个字段“创建时间”。我将按创建的时间顺序升序在队列中插入项目。现在,我必须在队列中每个第一个条目的创建时间运行一个进程,它应该只运行一次。
前--
队列中有五个条目的时间
1)1:00
2)1:15
3)1:20
4)1:30
5)2:00
所以我计划的流程应该在下午1:00,然后在下午1:15,然后在下午1:20,然后在1:20,最后在下午2:00运行,并且在特定时间后不会再次出现。
我用的是Spring靴。Spring有没有办法做到这一点。
例如,您可以使用ThreadPoolTaskScheduler作为实现来配置TaskScheduler,ThreadPoolTaskScheduler基本上是SchduledThreadPoolExecator2的包装器:
@Bean
public TaskScheduler taskScheduler ()
{
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.initialize();
return taskScheduler;
}
然后,您可以使用调度程序以简单的方式处理队列:
public class MyQueueParser
{
@Autowired
private TaskScheduler scheduler;
public void parseQueue()
{
for (Item item: myQueue)
{
scheduler.schedule(() -> {
// do the work
}, item.getCreationTime());
}
}
}
Scheduler需要runnable来执行和运行测试的时间。TaskScheduler还允许您使用触发器。请检查此处的文档
问题内容: 如何将下面的函数转换为?当前出现错误。 问题答案: 返回,它是描述两个集合索引之间距离的类型。必须为,但不必为,可以与有所不同。因此,不可能创建范围。 一个解决方案是使用和代替and : 另一个优点是,它也可以与数组 切片 正确配合使用 (第一个元素的索引不一定为零)。 请注意,根据新的“ Swift API设计指南”,它 是变异随机播放方法和返回数组的非变异对应方法的“适当”名称:
尽管在阅读了许多关于的文章之后,我遇到了一个关于在Java中使用安全API的疑问。在下面的示例中。 } 谁能让我知道我在这里做的是对的吗?
问题内容: 我一直在谷歌上寻找答案,但似乎找不到一个万无一失的东西,而且真的负担不起将其弄乱(进入生产站点)。 我所拥有的是具有20多个过滤器的高级搜索,它返回一个包含ID和Distance的数组。我需要做的是将这些结果混洗以每次随机显示。目前我得到的数组是: 我需要做的是每次都对它们进行随机化或排序,但要保持id和距离对,即: 谢谢 :) 问题答案: 在第一个用户后下的文件: 在保留键,值对的同
随机排列指定数组的值,返回一个新的数组。 使用 Fisher-Yates 算法 对数组元素进行重新排序。 const shuffle = ([...arr]) => { let m = arr.length; while (m) { const i = Math.floor(Math.random() * m--); [arr[m], arr[i]] = [arr[i],
问题内容: 如何有效地洗净大型(1m至5m记录)表的内容?已知该列具有唯一值,但是您可以假定为此删除了所有约束。我之所以头痛,主要是因为我正在更新选择的同一列。我的目标是使用PL / SQL做到这一点,以便我可以以编程方式采取其他措施,例如记录或更新其他表。 我最近的尝试是创建一个使用的游标,并尝试基于行数进行合并或更新。也许我可以通过创建一个临时表来解决修改自我约束的问题?我相当有信心Oracl
本文向大家介绍C#对list列表进行随机排序的方法,包括了C#对list列表进行随机排序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#对list列表进行随机排序的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。