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]