今天给大家简单讲解队列任务的实现一、什么是队列任务 由于一些耗时的操作如果同步执行会导致体验不佳,所以我们通过队列来异步执行队列任务就是按照排队来执行任务,之前我们讲过消息队列,先排队的人先办事二、实现步骤
1、需求方发布任务$que=new queue(); //添加一个任务 $que->lpush(array( "action"=>"sendSms", "data"=>array(
"telephone"=>15985840591, "content"=>"deituiCMS祝您圣诞季快乐" ) )); echo"添加一条短信任务";2、执行方获取任务$que=
new queue(); //获取任务 $task=$que->rpop(); if(empty($task)){ echo"任务执行完了"; }3、分发任务执行switch($task["action"
]){ case"sendSms": $res=sendSms($que,$task); break; default:
echo"执行任务"; break; } functionsendSms($que,$task){ $conf=$task["data"]; $res=rand(0,1
); if(!isset($task["enum"])){ $task["enum"]=1; } if(!$res){ echo"执行任务出错,出错"
.$task["enum"]."次"; }else{ echo"给".$conf["telephone"]."发送了一条短息".$conf["content"]; }
if($res==false ){ if($task["enum"]rpush($task); }
else{ echo" 已将错误反馈给站长"; } } }三、任务要常驻执行 执行任务的程序不能间断 windows系统 cmd
phptask.php linux系统 phptask.php & 重播播放00:00/00:00直播00:00进入全屏50点击按住可拖动视频完整代码
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。