第一次执行后要睡觉

时间:2017-02-28 13:12:18

标签: php codeigniter command-line-interface wget

我有这个php exec行:

exec('wget http://myurllinktofunction?id='.$insert_id .' > /dev/null &');

这将触发if条件,我想要做的就是让wget调用睡觉让我们说60s并且所有这段时间都没有对该exec进行任何调用,也是注意到我不想要我的if条件,等待睡眠是真的:我举个例子:

if($weight>15000){
    $insert_id = $this->db->insert_id();
    exec('wget myurllinktofunction?id='.$insert_id .' > /dev/null &');
                                    }
    $this->_issue_success();
    break;

我希望这个流量在$ weight var中我会得到一个值,一次一个,让我们说一个值列表。当条件$ weight> 15000为TRUE时执行我的if和之后睡觉我的执行60s(wget不会被执行60s)但完成了issue_success()(我有案例OpResult :: Ok;)无论那个执行官是否在睡觉,我只想睡觉那个部分但是if应该继续,但是如果没有睡觉的话,他们就不会让它进入睡眠状态,如果不是在睡眠中再次执行它并执行相同的流程。

1 个答案:

答案 0 :(得分:0)

据我所知,这可能会对你有所帮助:

$timer = 0;
$seconds = 60;

if($weight>15000){
    $insert_id = $this->db->insert_id();

    for($i=0;$i<$seconds;$i++){
            sleep(1);
            $timer++;

            if($timer == 60){
                    exec('wget myurllinktofunction?id='.$insert_id .' > /dev/null &');
            }

            $this->_issue_success();
            break;
    }
}