我正在使用您的 optaplanner
作为医生调度系统。
我有一个问题要问你:
我使用optaplanner作为后端系统,通过PHP将XML文件传递给optaplanner,并由optaplanner将计算出的XML结果返回给PHP后端系统。现在我想让医生实时看到网页的变化。我能让它发生吗?是为了让optaplanner能够实时产生XML文件,而不是最后才计算生成XML文件。
最佳答案
是的,这是可能的,但它可能需要您稍微改变一下您的架构。
要将结果从服务器发送到客户端(用户的浏览器),您需要使用 websockets。
Optaplanner 有 SolverEventListener,每次最佳解决方案发生变化时都会调用它。您可以做的是每次在监听器中调用 bestSolutionChanged 时通过 Websocket 发送解决方案。出于性能原因,您可能希望 websocket 发送请求成为非阻塞操作,并且解决方案的序列化应该快速发生。您可能还希望包括每个 webocket 发送请求/bestSolutionChanged 调用之间的最短时间,因为一开始 Optaplanner 可能会经常找到新的最佳解决方案。
我不知道如何在 PHP 中执行此操作,但通常对于此类类型的实时应用程序,vert.x 非常适合我(optaplanner 解决方案计算在工作器 verticle 中处理,新解决方案是通过 sockjs eventbus 桥通过 eventbus 发送出去)
关于java - optaplanner护士排类系统中的XML文件可以与前台实时交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51357868/