问题陈述如下:
我正在使用 Abaqus,这是一个分析机械问题的程序。它基本上是一个独立的 Python 解释器,有自己的对象等。在这个程序中,我运行一个 python 脚本来设置我的分析(所以这个脚本可以修改)。它还包含一个必须在接收到外部信号时执行的方法。这些信号来自我在自己的 Python 引擎中运行的主脚本。
现在,我有以下工作流程:当 Abaqus 脚本必须执行特定函数时,主脚本将布尔值设置为 True,并将此布尔值腌制到文件中。Abaqus 脚本会定期检查此文件以查看布尔值是否已设置为 true。如果是这样,它会进行分析并腌制输出,以便主脚本可以读取此输出并对其进行操作。
我正在寻找一种更有效的方法来通知另一个进程开始分析,因为有很多不必要的检查正在进行中。通过pickle进行数据交换对我来说不是问题,但当然欢迎更有效的解决方案。
搜索结果总是给我提供子进程或类似的解决方案,这是针对在同一个解释器中启动的两个进程。我也看过ZeroMQ,因为这应该可以实现这样的事情,但我认为这是矫枉过正,希望在python中找到解决方案。两个解释器都运行 python 2.7(虽然版本不同)