From 63a8700258ca5b32191b49a971ca0c6ab775ee4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannes=20H=C3=B6ke?= Date: Thu, 5 Nov 2015 16:01:08 +0100 Subject: [PATCH] add run_async decorator --- telegram/boteventhandler.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/telegram/boteventhandler.py b/telegram/boteventhandler.py index eaaf32c97..2fa200155 100644 --- a/telegram/boteventhandler.py +++ b/telegram/boteventhandler.py @@ -15,6 +15,18 @@ if sys.version_info.major is 2: from Queue import Queue elif sys.version_info.major is 3: from queue import Queue + +def run_async(func): + from threading import Thread + from functools import wraps + + @wraps(func) + def async_func(*args, **kwargs): + func_hl = Thread(target=func, args=args, kwargs=kwargs) + func_hl.start() + return func_hl + + return async_func class BotEventHandler(TelegramObject): """ @@ -88,7 +100,8 @@ class BotEventHandler(TelegramObject): self.update_queue.put(update) self.last_update_id = update.update_id + 1 current_interval = poll_interval - sleep(current_interval) + + sleep(current_interval) except TelegramError as te: # Put the error into the update queue and let the Broadcaster # broadcast it