21,891
社区成员
发帖
与我相关
我的任务
分享class auto_get_data_thread {
var $runIndex = false;//控制线程
var $interval = 30;//等待抓取时间
private function run(){
while($this->runIndex){
if(!$this->runIndex)
break;
insert_postdata_init();//业务逻辑代码
sleep($this->interval);
}
}
public function start(){
echo "start()";
ignore_user_abort(TRUE);
set_time_limit(0);
$this->runIndex=true;
$this->run();
}
public function stop(){
echo "stop()";
ignore_user_abort(FALSE);
set_time_limit(1);
$this->runIndex=false;
}
}
class auto_get_data_thread {
var $runIndex = false;//控制线程
var $interval = 30;//等待抓取时间
var $control = 'false'; //外部控制器
private function run(){
while($this->runIndex){
if(!$this->runIndex){
throw new Exception("auto_get_data_thread be stop with Exception");
break;
}
if($control == 'true')
{
insert_postdata_init();
sleep($this->interval);
}else if($control == 'false'){
break;
}
}
}
public function start(){
echo "start()";
$this->control = 'true';
echo "=".$this->control;
ignore_user_abort(TRUE);
set_time_limit(0);
$this->runIndex=true;
$this->run();
}
public function stop(){
echo "stop()";
$this->control = 'false';
echo "=".$this->control;
ignore_user_abort(FALSE);
set_time_limit(1);
$this->runIndex=false;
}
}
$getDataThread = new auto_get_data_thread();
global $getDataThread;
$_GET['data']=='true'?$getDataThread->start():$getDataThread->stop();
现在开始后直接就不执行了。。
$getDataThread = new auto_get_data_thread();//全局变量
global $getDataThread;
$_GET['data']=='true'?$getDataThread->start():$getDataThread->stop();
global $getDataThread;
$_GET['data']=='true'?$getDataThread->start():$getDataThread->stop();