【发布时间】:2011-11-26 05:23:24
【问题描述】:
我可以说我的问题与 PHP 有关,但我更关心的是在函数执行可以无限期进行的情况下编程的正确逻辑。
监控执行某些功能所需时间的正确方法是什么?如何停止此执行并继续执行程序的其余部分?
好的,我知道例如有一个 set_time_limit() 函数会返回致命错误,但我不希望这样,我希望我的代码在 x 秒后继续,或者可能在超过时间后抛出异常,catch它并做其他事情?
正在编写某种“看门狗”功能解决方案,这是如何完成的?
感谢您提供的任何帮助、任何链接、任何以“应该”解决此问题的方式解决此问题的文章。
BR, 纽曼
【问题讨论】:
-
上下文是什么,更具体地说?我猜该函数包含某种循环。如果这是正确的,我的第一反应是在进入循环之前获取带有
microtime()的时间戳,然后将该时间戳与每次迭代时在循环内生成的时间戳进行比较。达到某个值后,您可以抛出异常或执行其他任何操作。不过,也许我误解了您正在尝试做的事情的背景。您是否正在寻找可以更轻松地应用于众多功能的东西? -
是的,类似的。我的问题是我的一个功能是尝试远程登录到其他设备,有时远程登录超时太长了。