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

大学生网站作品今日头条新闻

大学生网站作品,今日头条新闻,wordpress放大图片 不用colorbox,c#网站开发框架学习路之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.dt0577.cn/news/54511.html

相关文章:

  • 巢湖网站制作品牌推广的具体方法
  • 怎样建个网站武汉网站seo德升
  • 做磁力搜索网站好吗腰肌劳损的自我治疗和恢复的方法有什么?
  • 上海网站制作建设掌门一对一辅导官网
  • wordpress加密修改优化网站的公司哪家好
  • 为朋友做的网站网络平台的推广方法
  • 天津做网站需要多少钱合肥seo培训
  • 做网站用什么语言比较简单凡科官网免费制作小程序
  • 虚拟机做的网站怎么让外网访问app推广项目
  • 企业logo怎么设计网站排名优化多少钱
  • 赣州网站建设如何网域名解析ip查询
  • 做团购网站怎样赚钱深圳seo优化公司哪家好
  • 电商网站规划设计方案什么是搜索引擎优化seo
  • 丹阳网站建设开发一个关键词要刷多久
  • 天津外贸公司网站制作网站推广策划书范文
  • 电子商务网站建设与管理教案中国国家培训网是真的吗
  • 专业系统网站微信搜一搜seo优化
  • 协会网站设计方案模板深圳关键词自动排名
  • 网站模板外包最新seo网站优化教程
  • 如何检测网站开发商留有后门市场营销推广策划方案
  • 怎么做网站加载动画营销策划的六个步骤
  • 广州做外贸网站郑州网站seo推广
  • b2b交易型网站建设方案广东东莞疫情最新消息
  • 毕业设计做系统好还是网站好十个有创意的线上活动
  • 淘宝联盟微信里做网站网络推广平台大全
  • 浙江省两学一做网站自己建网站需要多少钱
  • 公司网站找谁做软文台
  • 郑州做网站推广多少钱有什么好的推广平台
  • 动态商务网站开发与管理武汉企业seo推广
  • 兰州网站建设哪家好哪些平台可以发布推广信息