Python在烧瓶中重复此函数,直到获得所需的结果,延迟40秒

Python在烧瓶中重复此函数,直到获得所需的结果,延迟40秒,python,flask,raspberry-pi,sleep,Python,Flask,Raspberry Pi,Sleep,我有密码用覆盆子皮上的烧瓶关上大门。闸门移动缓慢,当我触发电机时,它可能会打开、关闭或停止,这取决于它在控制器循环中的位置 我希望close()函数检查close限位开关是否跳闸,如果没有,则触发电机。延迟40秒后,我想重复此操作,直到闭合限位开关跳闸 这是我的封闭函数 def Close(): # Check Close Sensor if CloseCheck() == False: return 'Gate is Closed' trigger()

我有密码用覆盆子皮上的烧瓶关上大门。闸门移动缓慢,当我触发电机时,它可能会打开、关闭或停止,这取决于它在控制器循环中的位置

我希望close()函数检查close限位开关是否跳闸,如果没有,则触发电机。延迟40秒后,我想重复此操作,直到闭合限位开关跳闸

这是我的封闭函数

def Close():
    # Check Close Sensor
    if CloseCheck() == False:
    return 'Gate is Closed'

    trigger()
    sleep(40)
    Close()
    return null

Flask似乎没有等待睡眠请求。这是正常的行为吗?如何每隔40秒重新运行关闭功能,直到触发关闭传感器

也许您可以使用while循环持续检查闸门是否关闭:

while True:
    if isGateClosed():
        break
    closeGate()
    time.sleep(40)

这将每40秒检查一次门是否关闭,并在该条件为真时退出循环。

只需循环,直到
CloseCheck()
为假

def Close():
    # Check Close Sensor
    while CloseCheck():
        trigger() # run trigger
        sleep(40) #  sleep and repeat
    return 'Gate is Closed' # CloseCheck is False, return