我有一个用 Octave 编写的非常复杂的计算代码和一个接收用户输入的 python 脚本,需要根据用户输入运行 Octave 代码。如我所见,我有以下选择:
- 将 Octave 代码移植到 python。
- 使用外部库(即 oct2py),使您能够从 python 运行 Octave/Matlab 引擎。
- 在 python 进程和 octave 进程之间进行通信。一种这样的可能性是使用 python 代码中的 subprocess 并等待答案。
由于我非常不愿意将我的代码移植到 python 并且我不想依赖于 oct2py 等外部库的维护,我支持选项 3。但是,由于系统应该可以很好地扩展,我不想为每个请求生成一个新的 octave 进程,并且任务队列系统似乎更合理。是否有任何(推荐的)任务队列系统可以在 python 中将任务排入队列并在另一端进程中有一个 octave 工作者?