上一个功能运行完成后执行一个功能
问题描述:
我有一个功能my_function()
,我需要运行10次。现在,所有10个函数都在同一时间运行(异步?)。在上一次执行完成后,如何执行下一次执行的功能?上一个功能运行完成后执行一个功能
my_function
包含CURL
调用和读取/写入数据库表。我不知道任何这些与反检查沿着异步运行
$repetitions = 10;
for($i = 0; $i < $repetitions; $i++) {
my_function($param);
}
答
你可以使用一个while循环和参数中调用该函数。那么确保你的函数在处理时返回true或false。
$repetitions = 10;
$count = 0;
while (my_function($param) && $count < $repetitions) {
$count++;
}
循环应该阻塞,直到函数返回true,并在计数条件不返回true时退出。
+0
只要执行curl调用异步,并且不会返回true,直到完成确认curl调用。 – 2012-07-16 02:23:42
你为什么认为它们是异步运行的? – 2012-07-16 02:16:02
该函数首先在表中找到一行中未通过CURL访问的行,将其URL并将其放入CURL,然后将该行中的列更新为* visited *。但是,如果我按照原始帖子中所显示的那样操作,则同一行将被读取10次。这可能意味着CURL在该行的* not visited *状态被更新为* visited之前运行了10次* – Nyxynyx 2012-07-16 02:21:04
它看起来像该函数正在运行异步;函数本身实际上写成原子? – ernie 2012-07-16 02:35:29