0
J'utilise gevent pour interroger plusieurs sockets juste pour voir si l'un des ports spécifiés est ouvert. Comment faire un gevent arrêter d'interroger si l'un des sockets réussit?Laisser le gevent arrêter l'interrogation lorsqu'une socket réussit
import gevent
from gevent import socket
vm_ip = "10.3.12.2"
ports = [22, 16120, 16122]
def fn(port):
while True:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(5)
result = s.connect_ex((vm_ip, port))
s.close()
if result == 0:
return
jobs = [gevent.spawn(fn, port) for port in ports]
gevent.joinall(jobs, timeout=30)