官网
教程
文档
官网文档
小程序集群与uniapp
小程序app接口教程
冰蓝世界版
阿赖耶识与随风版
网站首页
齐博X1教程专栏
文章列表
推荐
耗时的功能异步启用子进程
超级蜘蛛查
2024-02-28 16:29:32
10
注意:异步子进程功能只能用在linux系统服务器才生效,并且要开启`pcntl`这个PHP扩展,但不影响windows执行,也就是说,windows服务器虽然不生效,但代码还是会执行的,只不过不能分子进程异步执行,而是同步执行,就是需要用户等待更长的时间而已 ***** 对于很耗时的,不需要用户交互的功能,比如用户回复贴子需要公众号或者手机信息或邮件通知楼主(这些都非常耗时的),同时还需要更新网站的今日发贴数,这些对回贴人来说,根本就不需要马上看到的效果,而程序处理起来又可能很耗时,就可以考虑开启子进程。 关键点有两个:其一,用户并不需要马上看到执行效果,其二,可能比较耗时。这个时候就可以考虑采用子进程了。 下面拿一个图讲解 ![](https://img.kancloud.cn/4b/25/4b250ff2cdc1f9e8d3eccde3540f1de8_1467x647.png) 其中`fork_set();` 函数后面的代码就开始进行子进程。这个函数前面的代码就是用户当前所等待执行的。 ![](https://img.kancloud.cn/f8/97/f8972254cbe91e778ad55d426160e3bf_1071x533.png) 如下图所示,从`fork_set()` 函数这个位置开始就启用子进程。你把耗时的,不需要用户关注的功能就放在子进程里,让他在后台异步执行。需要用户得到响应的结果,就要放在主进程里同步执行反馈给用户。 至于`fork_set()` 函数最好放在哪个位置呢? 一般放在用户提交数据入库以后那个分界点,因为入库前都需要做判断。并且也不能允许它重复入库。所以最合理的位置就是入库之后那个分界点。 异步子进程更适合POST数据,取数据的话不是很适合。 通过 `fork_main()`==true 可以判断是主进程 ,通过`fork_son()`==true 可以判断是子进程。 写代码的时候,只能这样写 ~~~ if( fork_main()){ //执行代码 } 或者 if( fork_main()==true){ //执行代码 } if( fork_son()){ //执行代码 } 或者 if( fork_son()==true){ //执行代码 } ~~~ 绝对不可以按下面的方法处理,也就是说不能判断为非这种情况,必须按是来判断,不能按非来判断。 ~~~ if( !fork_main()){ //执行代码 } if( fork_main()==false){ //执行代码 } if( fork_son()==false){ //执行代码 } if( !fork_son()){ //执行代码 } ~~~ 特别提醒,`fork_set()` 函数后面的代码如果不做判断的话,主进程与子进程都会同时执行,如果有入库的话,会导致重复入库,这一点务必要注意!!! 所以对于入库的操作必须要做判断处理。不入库的代码,取数据的代码,重复执行是没问题的。 `fork_set()` 函数前面的代码,就只执行一次,子进程不会单独再去执行。子进程只会从`fork_set()` 函数的后面开始执行。是异步开启一个进程去执行。`fork_set()` 函数前是什么变量值,子进程会继续沿用。子进程修改后的变量值不会影响到主进程,`fork_set()` 函数后的逻辑与变量,主进程 与子进程他们是互相隔离的。
本文链接:https://x1.wanxiangsucai.com/read/60.html
没有了后一页
齐博x1云标签插件-一..
其中20代表取标题多少个字, 为了排版需要,你不想要标题的话,可以换成字符,比如
上一页
上一篇:
下一篇:齐博x1云标签插件-一件提取关键词无法使用的解决办法
相关文章推荐
1.
用异步加载,可加快网页打开速度
2.
异步加载标签数据
3.
启用redis缓存,让网站更快
4.
JS网页快速接入支付功能
5.
表单快速启用城市地区功能
6.
耗时的功能异步启用子进程
7.
使用缩略图功能加快列表页打开速度
8.
任何页面加入即时聊天功能
9.
如何开启自定义标签模板功能
10.
插件如何做前台风格切换的功能详解
齐博X1教程专栏最新文章
1.
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
2.
齐博x1云标签插件-一件提取关键词无法使用的解决办法..
3.
关于thinkphp5
4.
齐博X1更新记录
5.
解决Web部署 svg/woff/woff2字体 404错误
6.
云市场注意事项
7.
如何调取当前模块ID
8.
URL伪静态设置
9.
QQ登录接口配置
10.
邮箱接口设置之QQ企业邮箱
齐博X1教程专栏文章推荐
1.
直播神器聊天小插件
2.
什么是模块?模块的组成。
3.
万能通用短信接口的配置
4.
如何弹出客服会话窗口
5.
表单自动生成器
6.
会员中心菜单权限显示
7.
模块后期要加参数的方法
8.
表单相关视频
9.
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
10.
下面根据运营经验给大家讲下服务器一般配置
建站工具推荐
您可能感兴趣的文章
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
齐博x1云标签插件-一件提取关键词无法使用的解决办法
关于thinkphp5
齐博X1更新记录
解决Web部署 svg/woff/woff2字体 404错误
云市场注意事项
如何调取当前模块ID
URL伪静态设置
QQ登录接口配置
邮箱接口设置之QQ企业邮箱