fix: do not use lambda in a loop

This commit is contained in:
Vlad Stan 2023-06-21 14:40:28 +03:00
parent 7e2c903334
commit 322679e7c5
2 changed files with 13 additions and 3 deletions

View file

@ -1,7 +1,9 @@
import time
from .event import Event
from .key import PrivateKey
def zero_bits(b: int) -> int:
n = 0

View file

@ -2,7 +2,9 @@ import json
import time
from queue import Queue
from threading import Lock
from websocket import WebSocketApp
from .event import Event
from .filter import Filters
from .message_pool import MessagePool
@ -45,6 +47,7 @@ class Relay:
self.queue = Queue()
def connect(self, ssl_options: dict = None, proxy: dict = None):
print("### relay.connect", self.url)
self.ws = WebSocketApp(
self.url,
on_open=self._on_open,
@ -81,24 +84,29 @@ class Relay:
@property
def ping(self):
print("### ping: ", self.url)
ping_ms = int((self.ws.last_pong_tm - self.ws.last_ping_tm) * 1000)
return ping_ms if self.connected and ping_ms > 0 else 0
def publish(self, message: str):
self.queue.put(message)
def queue_worker(self, shutdown):
def queue_worker(self):
print("#### IN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", self.url)
while True:
if self.connected:
try:
message = self.queue.get(timeout=1)
print("#### queue_worker", message)
self.num_sent_events += 1
self.ws.send(message)
except:
if shutdown():
except Exception as e:
if self.shutdown:
print("#### !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! e [", e, self.url, self.shutdown," ]###")
break
else:
time.sleep(0.1)
print("#### OUT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", self.url)
def add_subscription(self, id, filters: Filters):
with self.lock: