瓶子里的异步动作

时间:2016-09-20 10:13:08

标签: python asynchronous bottle

我用瓶子写的简单应用。我需要每10秒运行一次相同的方法。我的第一个想法是这样的,但它不起作用,我认为这是丑陋的解决方案:

inc = 0
# after run server open /loop page in order do initiate loop 
@route('/loop', method='GET')
def whiletrue():
    global inc
    inc += 1
    print inc
    if inc != 1:
        return str(inc)
    while True:
        time.sleep(1)
        print "X",

你能否建议我如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用线程模块使用Timer命令调用该方法:

from functools import partial
import threading

class While_True(threading.Thread):
     def __init__(self, **kwargs):
         threading.Thread.__init__(self)

     def whileTrue(self, *args):
         print args

     def caller(self, *args):
         threading.Timer(10, partial(self.whilTrue, "Hallo")).start()