高效的Python IPC [关闭]

2023-11-25

我正在Python3中制作一个应用程序,它将分为batch and gui部分。Batch负责处理逻辑和gui负责显示它。

Which 进程间通信(IPC)我应该使用符合以下要求的框架:

  1. GUI 可以在批处理之外的其他设备上运行(GUI 可以在同一设备、智能手机、平板电脑等上本地或通过网络运行)。
  2. 批处理(Python3 IPc 库)应该可以在 Linux、Mac、Windows 上正常工作......
  3. IPC 应支持用不同语言编写的 GUI(Python、Javascript...)
  4. IPC的性能很重要——它应该尽可能“交互”,但又不丢失信息。
  5. 多个 GUI 可以连接到同一批次。

额外的:如果 GUI 也能保证用 Python 编写,那么会有其他选择吗?

Edit:我发现了很多IPC库,比如这里:高效的Python到Python IPC or ActiveMQ 或 RabbitMQ 或 ZeroMQ 或.

到目前为止我发现的最好看的选项是:

  • rabbitmq
  • zeromq
  • pyro

他们是这个问题的适当解决方案吗?如果不是为什么?如果有什么更好,请也告诉我为什么。


您提到的三个似乎很合适并且会满足您的要求。我认为你应该继续你感觉最舒服\熟悉的事情。

从我个人的经验来看,我确实相信 ZeroMQ 是效率、易用性和互操作性之间的最佳组合。我很容易将 zmq 2.2 与 Python 2.7 集成,所以这将是我个人的最爱。然而正如我所说,我很确定这 3 个框架都不会出错。

半相关:需求往往会随着时间而变化,您可能稍后决定切换框架,因此封装对框架的依赖将是一个很好的设计模式。 (例如,拥有一个与框架交互的管道模块,并使其 API 使用您的内部数据结构和领域语言)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高效的Python IPC [关闭] 的相关文章

随机推荐

  • Ninject InRequestScope 回退到 InThreadScope

    在我的 MVC3 项目中 我将内核设置为Ninject the 实体框架上下文关于InRequestScope基础 这工作完美 但我有一个后台运行程序可以进行一些工作流程管理 它每 5 分钟启动一个新线程 我Ninject我对此线程的依赖关
  • 如何删除批处理文件中用户提供的输入的尾随和前导空格?

    我知道在预定义变量时如何执行此操作 但是 当要求用户输入某种输入时 如何修剪前导和尾随空格 这是我到目前为止所拥有的 echo off set p input echo The input is input before trim left
  • R中的空间最近邻分配

    我正在开展一项研究 试图根据特定个人的地址将颗粒物暴露情况分配给他们 我有两个带有经度和纬度坐标的数据集 一种 if 适合个人 另一种 if 适合下午暴露块 我想根据最接近的块为每个主题分配一个下午曝光块 library sp librar
  • SPARQL - 选择 dbpedia 资源最相关的类别

    我有一个 dbpedia 资源 我想获取所有相关的 dbpedia 类别 为此 我编写了这个 SPARQL 查询 SELECT p o WHERE
  • keyup 在 Android 上的 Chrome 上不起作用

    我正在使用引导程序提前输入 它依赖于这个 jQuery 代码来工作 el on keyup doSomething 在 Windows 上的 Chrome 上 它运行良好 在 Android 上的 Chrome 上则不然 keyup 事件永
  • 如何防止 Visual Studio 设计器在 DataGridView 中自动生成列?

    我在子类中生成所有列DataGridView以编程方式 然而 Visual Studio 2008 不断读取我的构造函数类 它填充DataTable具有空内容并将其绑定到DataGridView 并为中的列生成代码InitializeCom
  • JGit 克隆存储库

    我正在尝试使用 JGit 克隆 Git 存储库 但遇到 UnsupportedCredentialItem 问题 My code FileRepositoryBuilder builder new FileRepositoryBuilder
  • 是否可以将“require”和“import”与Webpack一起使用?

    我们必须更新一些依赖项才能切换到 Webpack 4 并且在尝试混合时在 webpack 中收到警告 在浏览器中收到错误import and require在同一个项目内 我们有一个very大型项目 300 个文件 其中一些文件使用var
  • DotNetCore:GetInvalidFileNameChars 的跨平台版本?

    我正在构建一个可在 Windows 和 Ubuntu 系统上运行的 Net Core 2 0 控制台应用程序 我有一个字符串需要转换为安全的文件名 目前我正在使用以下代码来实现此目的 var safeName string Join nam
  • __func__ C++11 函数的局部预定义变量,无法编译

    The func 函数的 C 11 本地预定义变量无法在使用默认内置 Visual Studio 2012 v110 编译器或 2012 年 11 月 CTP v120 CTP Nov2012 编译器的 Visual Studio 2012
  • 将选项 [keepaspectratio=true, scale = 0.75] 添加到 Sweave 中的 \includegraphics{}

    我有以下 R 代码 lt
  • Android - 推送通知已开启?

    如何以编程方式检查用户是否在应用程序设置中关闭推送通知 我可以直接从应用程序打开应用程序设置意图来提示用户将其打开吗 Thanks 假设您指的是 Google Cloud Messaging 因为您使用的是 android 和推送通知标签
  • PHP 请求生命周期

    好吧 我对 PHP VM 的了解还比较幼稚 最近我一直在想一些事情 特别是 Web 应用程序的 PHP 请求生命周期是什么样的 我找到一篇文章here这给出了很好的解释 但我觉得有has更贴近故事 根据文章的解释 每次向服务器发出请求时都会
  • 如何在VBA中使用列/行索引作为范围

    喜欢使用Cells 1 1 代替Range A1 在 VBA 中使用列 行索引作为范围的最佳方法是什么 我想出了两种解决方案来表示 Range A A Range Cells 1 1 Cells Columns 1 Rows count 1
  • 如何解释 ELF 可执行文件中的动态符号表?

    我正在考虑解释动态符号表 dynsym 的 ELF 可执行文件 我可以成功解释符号表 symtab 每个符号 16 个字节 使用value属性来表示符号的地址和name属性表示字符串开头的偏移量 strtab部分 但我无法解释动态符号表 d
  • C#:如何从资源文件加载光标?

    我已将文件 x ani 导入到资源文件Resources resx 中 现在尝试使用 ResourceManager GetObject aero busy ani 加载该文件 Cursor Current Cursor Resources
  • ASP.Net MVC 中的线程安全

    我怀疑这也适用于一般的 ASP Net 但我不确定 如果我在控制器上有一个操作方法 比如 MyController DoSomethingExciting 并且三个客户端 同时 点击它 那么它本质上是线程安全的 还是我需要做一些事情来确保三
  • Objective C:我的自定义 -init 方法没有被调用

    我有一个从 UIView 派生的类 我想为其创建一个 init 类 如下所示 id init if self super init my initializations here return self 不幸的是 我知道 init 没有被调
  • 如何在 Apache 2.x 中使用 mod_deflate 预压缩文件?

    我通过 apache 提供所有内容Content Encoding zip但这是动态压缩的 我的大部分内容都是磁盘上的静态文件 我想预先对文件进行 gzip 压缩 而不是每次请求时都对其进行压缩 我相信 这是一件事 mod gzip在 Ap
  • 高效的Python IPC [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在Python3中制作一个应用程序 它将分为batch and gui部分 Batch负责处理逻辑和gui负责显示它 Which 进程间通信 I