php发展

首页 » 常识 » 诊断 » 老雷PHP教程之队列任务
TUhjnbcbe - 2021/1/10 0:39:00

老雷PHP教程之队列任务

一、什么是队列任务

就是按照队列来执行任务,按照先进先出原则执行任务,通过异步执行提升用户体验。

二、实现步骤,以订单为例。

1、发布任务

用户下完单之后,可能需要短信通知商家,或者通知打印机打印订单。

2、获取任务

任务系统获取任务,然后分发给不同任务处理程序去执行。

3、执行任务

具体任务处理程序,接收来自队列任务的委派,然后执行,如果执行出错,判断是重新入队执行还是通知系统出现异常。

三、任务要常驻执行

执行任务的程序不能间断

windows系统cmd执行phptask.php

linux系统phptask.php

?phprequire"file.php";$que=newqueue();$task=$que-rpop();if(empty($task)){echo"任务执行完了";}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"]3){$task["enum"]++;$que-rpush($task);}else{echo"已将错误反馈给站长";}}}

课后作业:

大家去动手操作队列任务

雷日锦

1
查看完整版本: 老雷PHP教程之队列任务