diff --git a/squeaknode/node/squeak_controller.py b/squeaknode/node/squeak_controller.py index 33b74c31..b0067ae2 100644 --- a/squeaknode/node/squeak_controller.py +++ b/squeaknode/node/squeak_controller.py @@ -422,7 +422,7 @@ class SqueakController: profile_id, bearer_token, ) - self.update_twitter_stream() + self.tweet_forwarder.restart() return twitter_account_id def get_twitter_accounts(self) -> List[TwitterAccountEntry]: @@ -438,7 +438,4 @@ class SqueakController: def delete_twitter_account(self, twitter_account_id: int) -> None: self.squeak_store.delete_twitter_account(twitter_account_id) - self.update_twitter_stream() - - def update_twitter_stream(self) -> None: - self.tweet_forwarder.start_processing() + self.tweet_forwarder.restart() diff --git a/squeaknode/twitter/twitter_forwarder.py b/squeaknode/twitter/twitter_forwarder.py index 78b77daa..06924431 100644 --- a/squeaknode/twitter/twitter_forwarder.py +++ b/squeaknode/twitter/twitter_forwarder.py @@ -43,6 +43,12 @@ class TwitterForwarder: self.lock = threading.Lock() self.current_tasks: Dict[str, TwitterForwarderTask] = {} + def restart(self): + threading.Thread( + target=self.start_processing, + daemon=True, + ).start() + def start_processing(self): with self.lock: # Stop existing running tasks.