c++ - 请求有关执行 IPC/事件捕获的建议

标签 c++ python ipc redis distributed

我有一个简单的 python 服务器脚本,它 fork 出 C++ 程序的多个实例(比如 N)。 C++程序生成一些需要捕获的事件。

事件当前正在日志文件中捕获(每个 fork 进程 1 个日志文件)。此外,我需要定期(T 分钟)获取事件在所有子进程中生成到 python 服务器或监听这些事件的其他程序的速率(仍然不确定)。根据这些事件的发生率,服务器可能会采取一些“ react ”(比如减少 fork 实例的数量)

一些我简要看过的指示:

  • grep log files - 遍历正在运行的进程日志文件(.running),过滤那些在最后 T 分钟内生成的条目,分析数据并报告
  • socket ipc - 将代码添加到 c++ 程序以将事件发送到某个服务器程序,该服务器程序在 T 分钟后分析数据、报告并重新开始
  • redis/memcache(不确定)- 将代码添加到 c++ 程序以使用一些分布式存储来捕获所有生成的数据,在 T 分钟后分析数据,报告并重新开始

请告诉我您的建议。

谢谢

最佳答案

如果时间不是最重要的(T 分钟听起来比启动的 C++ 程序中发生的任何事件都长),那么不要让事情变得比他们需要的更复杂。忘记 IPC(套接字、共享内存等),只需让每个 C++ 程序记录您需要了解的有关时间/性能的信息,并让 python 脚本每 T 分钟检查一次您需要数据的日志。不要浪费时间把你可以用简单的方式做的事情复杂化

关于c++ - 请求有关执行 IPC/事件捕获的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796882/

相关文章:

c++ - 与服务器的连接已终止 - C++

c++ - 使方法显式,除了友元类

Python比较2个大小列表增加的Pythonic方法是什么?

python - 如何在 Windows 机器上删除文本文件中的空行

linux - 两个进程之间的通信是否只有一个Unix Domain Socket?

c - 如何使用 MPI 在 C 中修复 AES 解密

c++ - undefined reference

c++:为什么不能使用模板来推断容器和元素类型?

Python多处理释放共享数组使用的内存

c - 命名 PIPE 卡在打开状态