2

我们有一个简单的 java 应用程序,它在命令行上运行用户请求(命令)并输出结果。因此,举个例子,假设用户提交了一份工作,内容如下:

cmd.exe ping -10 google.com

通常,我们有大约 100 个用户,提交 100 个要执行的请求。目前,Java 应用程序只是将作业排队并按顺序运行它们,而不是“民主”或“贪婪”。

我们想要做的是能够确定作业的优先级,以更“均匀”的方式运行作业(假设 2 个用户每个提交了 100 个作业,我们希望每个用户运行 1 个作业并来回切换)。

为此,我想知道是否有任何开源工具,例如 PBS:

http://code.google.com/p/pbs4java/

可以与java集成。在谷歌上搜索并没有透露很多信息 - 任何意见或建议将不胜感激。

更新:我追求的最重要标准是:[1] 应该是开源的 [2] 应该能够与 Java 集成。

4

1 回答 1

1

我建议看看Akka Dispatch and priority features。您应该管理如何将优先级分配给任务。因此,在您的情况下,随着用户提交更多任务,它可能会导致随着时间的推移降低优先级。指标应该由您的问题需求定义并注入到库中。

作为一个侧节点,Akka 使用HawtDispatch 的想法,所以如果它适合你,你也可以看看这个库。

于 2012-04-25T14:06:49.300 回答