当前位置: 首页 > wzjs >正文

上海市建设安全协会网站一360响应式网页设计原理

上海市建设安全协会网站一360,响应式网页设计原理,wordpress 站群xmlrpc,登封seo推广学习路之PHP --异步执行功能 (无需安装任何框架) 简介一、工具类二、调用三、异步任务的操作四、效果: 简介 执行异步任务是一种很常见的需求,如批量发邮箱,短信等等执行耗时任务时,需要程序异步执行&…

学习路之PHP --异步执行功能 (无需安装任何框架)

  • 简介
  • 一、工具类
  • 二、调用
  • 三、异步任务的操作
  • 四、效果:

简介

执行异步任务是一种很常见的需求,如批量发邮箱,短信等等执行耗时任务时,需要程序异步执行,给用户带来好的体验。

在php异步执行代码就很尬尴,不像java 可以创建多线程,在php中也可以用pcntl_fork()实现创建子进程,来实现异步,但这样可能会产生很多僵尸进程。其他的方式借助框架实现,如优秀的swoole框架,本文介绍无需安装如何框架扩展,php自带的方式处理下面直接上代码,我用的thinkphp6

一、工具类

extend\util\AsyncHook.php,代码如下

<?php
namespace util;class AsyncHook
{private static $hook_list = array();private static $hooked = false;/*** hook函数fastcgi_finish_request执行** @param callback $callback* @param array $params*/public static function hook($callback, $params = []){trace('这里是'.__CLASS__.'\\'.__FUNCTION__);self::$hook_list[] = array('callback' => $callback, 'params' => $params);if (self::$hooked == false) {self::$hooked = true;register_shutdown_function(array(__CLASS__, '__run'));}}/*** 由系统自动调用:支持win10:phpstudy** @return void*/public static function __run(){if (function_exists('fastcgi_finish_request')) {fastcgi_finish_request();}if (empty(self::$hook_list)) {return;}foreach (self::$hook_list as $hook) {$callback = $hook['callback'];$params   = $hook['params'];call_user_func_array($callback, $params);}}}

二、调用

route\app.php

Route::get('helloasync', function () {$namespaceClass = "app\\api\\Task\\Test";$classObj = app($namespaceClass);\util\AsyncHook::hook([$classObj,"index"],['name'=>1,'age'=>18]);return "执行完成";// $this->success("执行完成");});

三、异步任务的操作

<?php
declare (strict_types = 1);namespace app\api\Task;
// 添加这句
use hg\apidoc\annotation as Apidoc;
use think\facade\Log;/*** @Apidoc\Title("api模块Task控制器类")*/
class Test
{/*** @Apidoc\Title("index接口")* ...*/ public function index(...$params){var_dump($params);// var_dump($params2);[$name,$name2]=$params;var_dump($name);var_dump($name2);echo '您好!这是一个异步任务的操作'.__CLASS__.'\\'.__FUNCTION__;}
}

四、效果:

执行结果,会先’执行完成’,后执行hook中的Test index方法。
在这里插入图片描述


文章转载自:

http://yzrRRVPI.xbgnk.cn
http://yko9QP9g.xbgnk.cn
http://pKREDwL9.xbgnk.cn
http://QXJWR8Sj.xbgnk.cn
http://O0EvkOMB.xbgnk.cn
http://8BpcmZzr.xbgnk.cn
http://62Q9dVwC.xbgnk.cn
http://eKM6m0gy.xbgnk.cn
http://mqFUOqTn.xbgnk.cn
http://W2XpxFXG.xbgnk.cn
http://6iAlLCGy.xbgnk.cn
http://5QfH6flg.xbgnk.cn
http://lai4NybU.xbgnk.cn
http://FLLLY44a.xbgnk.cn
http://WWXHdcjH.xbgnk.cn
http://anrfAA5r.xbgnk.cn
http://dJ1CBa0n.xbgnk.cn
http://UYvalkpW.xbgnk.cn
http://524hfG2A.xbgnk.cn
http://XZZGdz02.xbgnk.cn
http://cvRqmMDO.xbgnk.cn
http://hm9FaeGG.xbgnk.cn
http://5Id3bcWL.xbgnk.cn
http://x3yLeDV7.xbgnk.cn
http://hUliQyQF.xbgnk.cn
http://ySMltBy2.xbgnk.cn
http://cmL0roe9.xbgnk.cn
http://P4wz0IPg.xbgnk.cn
http://vZwRLECK.xbgnk.cn
http://b5A47MdU.xbgnk.cn
http://www.dtcms.com/wzjs/755430.html

相关文章:

  • 网站手机pc同步企业邮箱账号是什么
  • 衡水企业网站建设费用如何创建网站站点并且避免广告
  • 网络促销分类 网站促销网站关键词优化是什么
  • 公司网站是用什么软件做建设工程许可证在那个网站办
  • 外贸网站如何优化东莞主页网站制作
  • 自助建站什么意思国外虚拟主机 两个网站
  • 网站开发项目的简介在线设计平台行业环境
  • 光明新区住房和建设局网站如何在虚拟主机一键安装wordpress
  • 我要发布文章到网站上推广 哪些网站最好公司网站建设费用怎么入账
  • 企业网站建设的一般要素品牌战略咨询
  • 网站改版声明网站开发德菁
  • 找公司做网站需要咨询什么问题做网站关键字
  • 网站首页设计代码李宁网站开发ppt模板
  • 网站开发服务费入什么科目贵阳网站制作公司
  • 企业平台网站建设方案学做实体店网站
  • 美发企业网站模板如何做个盈利的网站
  • 网站的流量是怎么算的wordpress制作表单
  • 已有域名 搭建网站河北廊坊建设局网站
  • notepad做网站广州sem代运营推广公司
  • 海南网站建设多少钱网页制作平台哪个最好
  • 泰拳图片做网站用网站建设与制作过程
  • WordPress网站主题升级网站建设系统哪个好
  • 网站建设费用:做个网站要多少钱?镇江网
  • 网站建设结课论文手机app开发工具中文版
  • 网站建设要架服务器建设网站的结束语
  • 珠海网站推广公司国外采购网站大全
  • 怎么建小说网站做网站 然后百度推广
  • 用eclipse做网站模板凡客的官网
  • 重庆市建设项目环境申报表网站wordpress下载效果
  • 长春 建网站租号网站怎么做的