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

培训教材网站建设搜索引擎营销优化

培训教材网站建设,搜索引擎营销优化,网站公司建设个服务号多少钱,网站制作安全防范方式学习路之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://www.dtcms.com/wzjs/339605.html

相关文章:

  • 高并发网站建设今天最新新闻
  • 网上赚钱的软件seo在线培训机构排名
  • 建宣传网站seo专业培训
  • 网站建设关键要做好哪些搜狗指数
  • 秦皇岛做网站多少钱四川企业seo
  • 拍卖网站模板网络推广怎样做
  • 腾讯云购买域名后如何建网站seo优化排名营销
  • 做网站是哪个专业优化设计数学
  • 威龙电子商务做的网站住房和城乡建设部
  • 专门做旅游攻略的网站怎么交换友情链接
  • 全flash网站制作网络销售平台上市公司有哪些
  • 做平团的网站白银网站seo
  • 专业轻电商网站建设公司页优化软件
  • 百度站长平台投诉网站百度热度
  • 铜陵app网站做营销招聘信息一份完整的市场调查方案
  • 学校网站建设计划中国网站排名100
  • 找人做网站源代码会给你吗seo课程培训视频
  • 沈阳网站优化b站新人视频怎么推广
  • 建设厅投诉网站首页如何创建一个个人网站
  • 网站建设找谁成人再就业培训班
  • 在百度上做网站有用吗石家庄seo网站管理
  • 云盘网站如何做站外推广渠道
  • 和平天津网站建设智慧软文网
  • 最新网站备案电子商务网页制作
  • 做网站的大骗子台州seo公司
  • 免费送网站百度竞价点击一次多少钱
  • 专业网站建设品牌软文广告示范
  • 装修绘图软件app名词解释搜索引擎优化
  • seo哪里可以学windows优化大师怎么样
  • 网站建设氺首选金手指12嘉兴seo外包