fix: do not use lambda in a loop
This commit is contained in:
parent
7e2c903334
commit
322679e7c5
2 changed files with 13 additions and 3 deletions
|
|
@ -1,7 +1,9 @@
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from .event import Event
|
from .event import Event
|
||||||
from .key import PrivateKey
|
from .key import PrivateKey
|
||||||
|
|
||||||
|
|
||||||
def zero_bits(b: int) -> int:
|
def zero_bits(b: int) -> int:
|
||||||
n = 0
|
n = 0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@ import json
|
||||||
import time
|
import time
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from threading import Lock
|
from threading import Lock
|
||||||
|
|
||||||
from websocket import WebSocketApp
|
from websocket import WebSocketApp
|
||||||
|
|
||||||
from .event import Event
|
from .event import Event
|
||||||
from .filter import Filters
|
from .filter import Filters
|
||||||
from .message_pool import MessagePool
|
from .message_pool import MessagePool
|
||||||
|
|
@ -45,6 +47,7 @@ class Relay:
|
||||||
self.queue = Queue()
|
self.queue = Queue()
|
||||||
|
|
||||||
def connect(self, ssl_options: dict = None, proxy: dict = None):
|
def connect(self, ssl_options: dict = None, proxy: dict = None):
|
||||||
|
print("### relay.connect", self.url)
|
||||||
self.ws = WebSocketApp(
|
self.ws = WebSocketApp(
|
||||||
self.url,
|
self.url,
|
||||||
on_open=self._on_open,
|
on_open=self._on_open,
|
||||||
|
|
@ -81,24 +84,29 @@ class Relay:
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ping(self):
|
def ping(self):
|
||||||
|
print("### ping: ", self.url)
|
||||||
ping_ms = int((self.ws.last_pong_tm - self.ws.last_ping_tm) * 1000)
|
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
|
return ping_ms if self.connected and ping_ms > 0 else 0
|
||||||
|
|
||||||
def publish(self, message: str):
|
def publish(self, message: str):
|
||||||
self.queue.put(message)
|
self.queue.put(message)
|
||||||
|
|
||||||
def queue_worker(self, shutdown):
|
def queue_worker(self):
|
||||||
|
print("#### IN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", self.url)
|
||||||
while True:
|
while True:
|
||||||
if self.connected:
|
if self.connected:
|
||||||
try:
|
try:
|
||||||
message = self.queue.get(timeout=1)
|
message = self.queue.get(timeout=1)
|
||||||
|
print("#### queue_worker", message)
|
||||||
self.num_sent_events += 1
|
self.num_sent_events += 1
|
||||||
self.ws.send(message)
|
self.ws.send(message)
|
||||||
except:
|
except Exception as e:
|
||||||
if shutdown():
|
if self.shutdown:
|
||||||
|
print("#### !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! e [", e, self.url, self.shutdown," ]###")
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
|
print("#### OUT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", self.url)
|
||||||
|
|
||||||
def add_subscription(self, id, filters: Filters):
|
def add_subscription(self, id, filters: Filters):
|
||||||
with self.lock:
|
with self.lock:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue