我正在尝试在Python中实现客户端 - 服务器架构,我有:
工作正常。在服务器端,我有一个订户的URL列表。
主要思想是每隔X秒从服务器向所有订阅的客户端发送请求(类似于监控系统)。
我正在尝试使用线程执行此部分:
class Monitor(threading.Thread):
def __init__(self):
super(Monitor, self).__init__()
self.setDaemon(True)
def send_notifications(self, subscribers):
for subscriber in subscribers:
request.post(subscriber["url"], json=subscriber["data"], timeout=0.5)
def run(self):
subscribers = get_subscribers() # getting list of subscribers via API call.
while True:
self.send_notifications(subscribers)
time.sleep(Y)
或多或少有效,但我需要稍微改进一下。 预期的行为是: 服务器应每隔X秒向每个订阅的客户端发送通知。如果向某个客户端发送通知失败了Y分钟(例如5分钟),则应取消订阅此无响应的客户端。
对此有一些最佳做法吗?