我们有一个简单的Java应用程序,它在命令行上运行用户请求(命令)并输出结果。因此,作为一个例子,假设用户按照以下方式提交作业:
cmd.exe ping -10 google.com
通常,我们有大约100个用户,提交100个请求。目前,java应用程序只是将作业排队并按顺序运行它们,而不是“民主”或“贪婪”。
我们想要做的是能够优先考虑工作,以更“均匀”的方式运行工作(比如2个用户每个提交100个工作,我们希望每个用户运行1个工作并来回切换)。
为此,我想知道是否有任何开源工具,如PBS:
http://code.google.com/p/pbs4java/
可以与java集成。谷歌上的搜索并没有发现很多 - 任何意见或建议将不胜感激。
更新:我追求的最重要的标准是: [1]应该是开源的 [2]应该能够与Java集成。
答案 0 :(得分:1)
我建议看看Akka Dispatch and priority features。您应该管理您希望如何为任务分配优先级。因此,在您的情况下,当用户提交更多任务时,可能会导致降低到较低优先级的时间。度量标准应由您的问题需求定义并注入库中。
作为一个副节点,Akka使用了HawtDispatch个想法,所以如果它适合你,你也可以看看它。