我正在将您的optaplanner用作医生调度系统。

我有一个问题问你:

我将optaplanner用作后端系统,通过PHP将XML文件传递给optaplanner,然后由optaplanner将计算出的XML结果返回给PHP后端系统。现在,我希望医生能够实时查看网页中的更改。我可以实现吗?它使optaplanner可以实时生成XML文件,而不是生成最后计算出的XML文件。

最佳答案

是的,这是可能的,但是可能需要您稍微更改一下体系结构。

要将结果从服务器发送到客户端(用户的浏览器),您需要使用websocket。

Optaplanner具有SolverEventListener,每次最佳解决方案更改时都会被调用。您可以做的就是每次在侦听器中调用bestSolutionChanged时,都通过websocket发送解决方案。出于性能原因,您可能希望websocket发送请求是非阻塞操作,并且解决方案的序列化应该快速进行。您可能还希望在每个webocket发送请求/ bestSolutionChanged调用之间包含最短时间,因为一开始Optaplanner可能会经常找到新的最佳解决方案。

我不知道您将如何在PHP中执行此操作,但是通常对于此类实时应用程序vert.x非常适合我(optaplanner解决方案的计算是在工作层中进行的,新的解决方案通过通过sockjs事件总线桥进行事件总线)

关于java - optaplanner护士调度系统中的XML文件可以与前台实时交互,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51357868/

10-08 23:24