繁体   English   中英

将值从一个python脚本发送到已经运行的另一个

[英]Send values from one python script to another one already running

我试图了解如何开发由在Linux框中运行的两个python脚本制成的系统。

第一个启动于系统引导并始终运行,基本上连接到MQTT服务器并等待另一个python脚本。 从命令行调用第二个,做一些工作,然后将一些数据(基本上是三个字符串)传递给第一个,然后退出。

在这种情况下,使用哪种“正确”方式将数据从脚本二传递到脚本一?

有多种方法可以完成此操作(阻塞和非阻塞)。 根据您的MQTT服务器,您可以在发布/订阅方法中使用它,以将数据从临时脚本传递到正在运行的脚本。

如果这不可能,则可以将另一个发布/订阅服务器用作例如redis 特别是redis的pub / sub功能对此非常有用。 python很好地支持redis

另一种更轻量级的可能性是使用First In First Out (FIFO)队列cf 文章,内容涉及在python中使用fifos阻塞与非阻塞fifos

如果两个进程都在同一台计算机上运行,​​则FIFO易于使用。 如果两个脚本都在不同的计算机上运行,​​则最好使用redis

周围有更复杂的进程间通信包,例如rabbitMQzeroMQ等等 ,但是对于您的用例来说 ,它们可能会显得过高

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM