python脚本在等待10秒时显示星号



我正在尝试使用python agi脚本在星号上打个电话,该函数将检查是否有可用他不是脚本,应该等待10秒钟,然后再检查可用的脚本并在可用的情况下拨打。但是,我遇到了一个小问题,当一个人不可用时,使用time.sleep(10)函数挂断了呼叫,我希望这是因为脚本在Will Sleep上运行的线程和Asterisk认为脚本已运行并挂断呼叫。删除time.sleep()给了我我想要的,没有时间间隔。

agi = AGI()
agi.verbose("python agi started")
place_call_on_hold("SIP/6001")
def place_call_on_hold(s):
  agi.verbose("entered place_call_on_hold function")
  while True:
    status = agi.get_variable('DEVICE_STATE(%(redirect)s)'%{'redirect':s})
    agi.verbose(status)
    if status == 'NOT_INUSE':
      agi.verbose("Info: place_call_on_hold: calling the number")
      agi.appexec("Dial",s)
    else:
      agi.verbose("Info: place_call_on_hold: sleeping for 10 sec")
      time.sleep(10)

有没有使用sleep()函数的方法等待10秒钟,或者我如何确保呼叫在time.sleep唤醒之前不会结束?

为什么不在状态之前和状态之后尝试时间差

import time
start = time.time()
end = time.time()
while (end-start) < 10:
    end = time.time()
print(start, end, end-start)

我只需调用星号等待(10)函数而不是时间来解决我的问题。

相关内容

  • 没有找到相关文章

最新更新