From 26bbe93dd2e03f6811b2c52620f127a87c9190e0 Mon Sep 17 00:00:00 2001 From: Mark Veidemanis Date: Wed, 12 Jan 2022 19:55:50 +0000 Subject: [PATCH] Run autoprice in thread --- handler/agora.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/handler/agora.py b/handler/agora.py index f72c990..87ce7a6 100644 --- a/handler/agora.py +++ b/handler/agora.py @@ -1,6 +1,7 @@ # Twisted/Klein imports from twisted.logger import Logger from twisted.internet.task import LoopingCall +from twisted.internet.threads import deferToThread # Other library imports from json import loads @@ -48,7 +49,7 @@ class Agora(object): self.lc_dash = LoopingCall(self.loop_check) self.lc_dash.start(int(settings.Agora.RefreshSec)) if settings.Agora.Cheat == "1": - self.lc_cheat = LoopingCall(self.update_prices) + self.lc_cheat = LoopingCall(self._update_prices) self.lc_cheat.start(int(settings.Agora.CheatSec)) def wrap_dashboard(self): @@ -284,6 +285,12 @@ class Agora(object): ad.append(rate) return ads + def _update_prices(self): + """ + Update prices in another thread. + """ + deferToThread(self.update_prices) + def update_prices(self): our_ads = self.enum_ads() currencies = [x[2].lower() for x in our_ads]