diff --git a/nostr/relay.py b/nostr/relay.py index 8b081a3..0583bba 100644 --- a/nostr/relay.py +++ b/nostr/relay.py @@ -102,12 +102,14 @@ class Relay: message = self.queue.get(timeout=1) self.num_sent_events += 1 self.ws.send(message) - except Exception as e: - if self.shutdown: - logger.warning(f"Closing queue worker for '{self.url}'.") - break + except: + pass else: time.sleep(0.1) + + if self.shutdown: + logger.warning(f"Closing queue worker for '{self.url}'.") + break def add_subscription(self, id, filters: Filters): with self.lock: diff --git a/nostr/relay_manager.py b/nostr/relay_manager.py index b2df735..a551253 100644 --- a/nostr/relay_manager.py +++ b/nostr/relay_manager.py @@ -44,12 +44,13 @@ class RelayManager: return relay def remove_relay(self, url: str): - self.threads[url].join(timeout=1) - self.threads.pop(url) - self.queue_threads[url].join(timeout=1) - self.queue_threads.pop(url) self.relays[url].close() self.relays.pop(url) + self.threads[url].join(timeout=5) + self.threads.pop(url) + self.queue_threads[url].join(timeout=5) + self.queue_threads.pop(url) + def add_subscription(self, id: str, filters: Filters): with self._subscriptions_lock: