Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 异步CLI输出_Python_Asynchronous_Cmd_Rabbitmq - Fatal编程技术网

Python 异步CLI输出

Python 异步CLI输出,python,asynchronous,cmd,rabbitmq,Python,Asynchronous,Cmd,Rabbitmq,因此,我正在编写这个基于python RabbitMQ的工具,在CLI界面上使用cmd,该工具通过向各个服务器上的客户端发送消息并从数据集获取消息来查询远程数据库(有些查询可能需要很长时间,并且需要异步) 语法示例如下所示: CLI> get host=myhost.com fact=cpunumber 此命令将向X客户端创建一条消息以获取数据 现在,我正在努力解决的是一种显示查询结果的方法,这样输出就不会混乱。在响应数据集消息到达时立即显示结果似乎是一种糟糕的UEX方法 有人已经实现了

因此,我正在编写这个基于python RabbitMQ的工具,在CLI界面上使用
cmd
,该工具通过向各个服务器上的客户端发送消息并从数据集获取消息来查询远程数据库(有些查询可能需要很长时间,并且需要异步)

语法示例如下所示:

CLI> get host=myhost.com fact=cpunumber
此命令将向X客户端创建一条消息以获取数据

现在,我正在努力解决的是一种显示查询结果的方法,这样输出就不会混乱。在响应数据集消息到达时立即显示结果似乎是一种糟糕的UEX方法

有人已经实现了类似的东西并愿意分享方法吗

我知道这不是一个非常具体的问题,但可能会有一些指向文本模式格式库的指针,可以在这种情况下使用

谢谢。

既然这个问题没有“好答案”,我就分享一下我对这个问题的看法

我不知道为什么你觉得在数据到达后立即打印是一种糟糕的设计——即时性让人放心,因为它让你知道某些东西正在工作

另一方面,如果输出看起来很混乱,您可能需要引入一些顺序。众所周知,使用一些明显的标准排序的数据更清晰。更重要的是,即使是伪造的数据,经过排序后看起来也更正确

使用您的示例,我将尝试根据给定事实的主机名或值对其进行排序(在您的案例中,任何更有意义的内容)。如果您知道数据点将是什么(例如,查询已知主机的列表),则可以在输出记录到达时对其进行排序,并打印已知完整/一致的部分


希望这能有所帮助。

好吧,让我解释一下为什么我认为立即打印不是一个很好的选择。假设我查询了有关多个服务器的硬件事实列表。每个查询将返回16行。它来自4个不同的队列。当用户阅读第一个结果时,会随机弹出另一个结果并改变他所看到的内容。你不觉得这很烦人吗?:)