提问人:hden 提问时间:7/30/2015 更新时间:7/30/2015 访问量:97
我怎样才能延迟我的函数的某个部分,完成我的函数,然后回到我延迟的部分?
How can I delay a certain portion of my function, finish my function, and then go back to the part I delayed?
问:
我有一个函数,我想在中间延迟某个调用,但我不想停止整个函数。即使在最后一行之后,我也希望我延迟的部分在指定时间后运行。下面是我的意思的一个例子:
function delayInMiddle()
{
function call 1
if(some condition met in 30 seconds)
{function call 2}
function call 3
}
我想调用函数 1,检查函数 2,继续函数调用 3,然后在 30 秒内返回并执行函数调用 2。 这在 php 中可能吗?
答:
-1赞
Disha V.
7/30/2015
#1
您可以使用延迟。http://php.net/manual/en/function.sleep.phpsleep()
评论
0赞
hden
7/30/2015
不过,这不会暂停整个功能吗?我想完成整个函数,最后才回到延迟调用。
0赞
RiggsFolly
7/30/2015
是的,它将暂停整个过程。
0赞
hden
7/30/2015
是否存在不会暂停整个过程的东西?在过去的半个小时里,我一直在谷歌上搜索,但无济于事。
0赞
Disha V.
7/30/2015
哦,好吧,我误解了这个问题,你可以用它来。goto
0赞
RiggsFolly
7/30/2015
转到你真的这么说了吗?看来你误解了过去 30 年
0赞
RiggsFolly
7/30/2015
#2
作为一个可能的解决方案,怎么样。
不要在该脚本中调用 function2,而是将相关数据写入作为队列操作的表 + 一个时间,在此之前它不应该处理此队列项,这会产生 x 秒延迟。
然后使函数 2 成为每 30 秒运行一次的 cron 作业。它查看队列,看看它有什么要做的。
foreach ( row in queue ) {
send twitter;
delete row from table;
}
exit;
评论
function call 2