我的php web服务器接收请求并需要启动一个运行时间在30秒到5分钟甚至更长时间的java程序。这个漫长的过程需要在我的局域网中的可用服务器上分发。
我需要什么:
作业队列(在数据库中完成)
数据库手表。获得有关新工作或已完成工作的通知(以便在队列中开始其他工作)
在远程可用计算机上启动java进程。
似乎它需要是一个数据库监视,因为我需要评估哪个远程计算机可用,而且数据库存储过程不能轻易实现。
使用JAVA以独立于操作系统的方式实现此目的的最佳或至少是一种好方法。
我想我可以使用FileWatch管理文件夹中的队列,但这似乎是史前的。
由于
答案 0 :(得分:2)
我会使用JMS队列。您将任务/消息添加到队列,下一个可用进程接受任务,执行任务并将任何结果发送回另一个队列或主题。这支持透明的负载平衡,如果进程失败,您可以重新启动任务。不需要民意调查。