天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php獲取后臺(tái)Job管理的實(shí)現(xiàn)代碼

復(fù)制代碼 代碼如下:
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Controller_Jobs extends Controller_Base{
public function before(){
parent::before();
if(Request::$protocol != "cli"){
die("Only cli allowed!/n");
}
}
public function after(){
parent::after();
//do some cleaning tasks
}
private function _execJobCommand($joburi,$paras){
$php_exec = Kohana::config("picsou.php_exec");
$php_index = APPINDEX;
$command_args = array();
$command_args[] = $php_index;
$command_args[] = "--uri=".$joburi;
foreach ($paras as $para => $value){
$command_args[] = "--".$para."=".$value;
}
//var_dump($command_args);exit;
echo "exec commmand:".$php_exec."/n";
pcntl_exec($php_exec,$command_args);
}
/*
* Running jobs in queues
*/
public function action_run(){
$requestCount = 0;
while(true){
$sql = "select * from job_queue where status='1' and approved='1' order by id";
$jobs = DB::query(Database::SELECT,$sql)->execute()->as_array();
if($jobs){
foreach ($jobs as $job){
$requestCount ++;
//update the jobs status as running
DB::update('job_queue')->set(array('status'=>'2'))
->where('id','=',$job['id'])->execute();
$job_pid = pcntl_fork();
if($job_pid == -1){
die("Could not fork Child");
} else if($job_pid == 0 ){
$this->_execJobCommand($job['job_uri'],json_decode($job['paras'],true));
echo "finish Child/n";
exit(0);
//run jobs here
} else{
echo "Waiting for job/n";
ob_flush();
$child_pid = pcntl_waitpid($job_pid,$status, WUNTRACED);
echo "waitpid end:".$status."/n";
if($status == 0){
//job completed
DB::update('job_queue')->set(array('status'=>'999'))
->where('id','=',$job['id'])->execute();
echo "Child Finished/n";
ob_flush();
}else{
DB::update('job_queue')->set(array('status'=>'-1'))
->where('id','=',$job['id'])->execute();
echo "Child Failed/n";
ob_flush();
}
}
}
}
else{
if($requestCount >=10){
echo "Have a rest, I have processed 10 jobs/n";
exit;
}
//no job to run
//echo "No job/n";
ob_flush();
sleep(5);
}
}
}
}

php技術(shù)php獲取后臺(tái)Job管理的實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 6080yy亚洲久久无码 | 男生插曲女生身全过程 | 97视频精品 | 99久久精品费精品国产 | 国产亚洲精品久久久久久久软件 | 精品AV亚洲乱码一区二区 | 久久精品国产99欧美精品亚洲 | 国产精品免费观看视频播放 | 超碰在线视频地址 | 欧美性黑吊xxx | YELLOW视频在线观看大全 | 免费在线观看一区 | 日韩 无码 手机 在线 | 在线观看国产精美视频 | 野花4在线观看 | 妺妺窝人体色777777野大粗 | 5566av资源 | 久久成人a毛片免费观看网站 | 久久99热狠狠色一区二区 | 天堂岛www | 全部免费特黄特色大片看片 | 入禽太深免费视频10 | 亚洲精品久久久午夜福利电影网 | 国产曰批试看免费视频播放免费 | 亚洲免费三区 | 狠狠久久免费视频在线 | 亚洲精品色播一区二区 | 大香伊人久久精品一区二区 | 亚洲免费久久 | 欧美一区二区三区免费播放 | 久久中文字幕无线观看 | 99精品在线 | 狂操空姐电影 | 大陆老太交xxxxxhd在线 | 亚洲视频 在线观看 | 特大黑人娇小亚洲女mp4 | 日本高清天码一区在线播放 | 草久久久久 | 久久一本综合 | www色小姐| 极品少妇高潮啪啪AV无码 |