Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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 如何在http请求中发送不断更新的数据?_Python_Multithreading_Http_Operating System_Communication - Fatal编程技术网

Python 如何在http请求中发送不断更新的数据?

Python 如何在http请求中发送不断更新的数据?,python,multithreading,http,operating-system,communication,Python,Multithreading,Http,Operating System,Communication,假设我有一台计算机A和一个经常更新的变量x,并且这个更新也需要一些时间(比如:要求每秒钟更新一次,更新时间为0.5秒) 现在,每分钟一次,我有一台计算机B,它在HTTP GET请求中请求x的值。A给他寄了一份x 因为x可能被A使用,所以我需要确保没有出错。 我怎样才能保证呢?我的选项是什么?我认为您可以在函数回调中返回x 或者像twisted reactor.callLater一样,服务器B可以在等待get lasted结果时发出两次请求。但是每秒x次更新,我可能会导致其他服务器始终请求。我不太

假设我有一台计算机A和一个经常更新的变量x,并且这个更新也需要一些时间(比如:要求每秒钟更新一次,更新时间为0.5秒)

现在,每分钟一次,我有一台计算机B,它在HTTP GET请求中请求x的值。A给他寄了一份x

因为x可能被A使用,所以我需要确保没有出错。

我怎样才能保证呢?我的选项是什么?

我认为您可以在函数回调中返回x


或者像twisted reactor.callLater一样,服务器B可以在等待get lasted结果时发出两次请求。但是每秒x次更新,我可能会导致其他服务器始终请求。

我不太理解您的问题,但您是否在寻找类似的问题:使用变量“busy”并在使用“x”时将其设置为true。因此,如果A使用“X”,B发送HTTP GET请求,服务器将响应“X”正在使用或拒绝请求。@Farookaaa我不能拒绝请求,我必须返回X或X上的函数。我如何才能以智能的方式等待a完成使用x?记住上次的
x
,在不等待新的
x
的情况下发送它。如果它不断更新,则只需给它当前的值“x”。下次请求时,它应该获得新值。如果使用“x”值,并不意味着无法访问它。如果您在忙时拒绝请求,情况也是如此。下一个请求将检索新的值。@Farookaaa这是您给编写并发代码的人的最糟糕的建议。测试永远无法证明代码是正确的,只是它有错误。同时测试并发代码是很难开始的,最好事先考虑这些问题。