gpt4 book ai didi

java - 并行任务批处理的设计方法

转载 作者:行者123 更新时间:2023-11-30 08:01:04 25 4
gpt4 key购买 nike

我有一个批处理作业,预计一次可以处理大约 1k 个任务。每个任务平均大约需要 12 - 16 分钟。

在当前的实现中,所有任务都被插入阻塞队列。有一个线程从这个队列中弹出一个任务并处理它。对于任务,我们使用 java 的执行器服务进行并发执行,一旦处理完所有子任务,我们就将此任务标记为完成,并开始从队列中读取另一个任务。我们无法优化任务处理时间,因为它会调用 native 库并且不知道它在内部做了什么。

通过当前的实现,我们能够在超过 24 小时内处理大约 300 个任务。

我正在寻找有助于缩短处理时间的合适平台或框架。

我使用 Java 1.7、OSGI 和 Apache Karaf 作为容器

PS:这里的任务是将 500 MB - 4 GB 的某些图像分解成小块并将其存储为 jpeg 格式

最佳答案

对于水平缩放,我会使用消息系统。只需将所有任务放入 JMS 队列即可。然后在一个集群的机器上启动karaf,让每台机器监听队列。然后 JMS 将自动提供进程循环。因此负载将被分配。

关于java - 并行任务批处理的设计方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38010723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com