thinkphp使用 think-swoole task
是参考这位大佬的,大家可以去看看https://www.kancloud.cn/book_xwy/think-swoole3/1720752
安装thinkphp6
composer create-project topthink/think tpwebsocket
通过composer给项目安装think-swoole扩展
composer require topthink/think-swoole
使用nginx做代理服务配置如下
server{listen 80 ;server_name 域名;#代理配置location /{proxy_set_header X-Original-Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:9501/;}
}
1.:9501是config/swoole.php中的server[‘port’]
2.配置完成后重启nginx即可
3.在项目根目录下执行php think swoole start
4.访问域名即可看到响应结果.
常用命令:
php think swoole start
php think swoole restart
php think swoole stop
输出:
创建两个监听事件
php think make:listener SwooleTask
php think make:listener SwooleTaskFinish
在event.php加入如下代码:
// 事件定义文件
return ['bind' => [],'listen' => ['AppInit' => [],'HttpRun' => [],'HttpEnd' => [],'LogLevel' => [],'LogWrite' => [],'swoole.task'=>['\app\listener\SwooleTask'],'swoole.finish'=>['\app\listener\SwooleTaskFinish'],],'subscribe' => [],
];
SwooleTask.php
<?php
declare (strict_types=1);namespace app\listener;use Swoole\Server\Task;class SwooleTask
{/*** 事件监听处理** @return mixed*/public function handle(Task $task){var_dump('on task');var_dump($task->data);//task的data数据即server->task()传入的数据$task->finish($task->data);//这里必须手动执行finish,否则不会触发onFinish监听事件return ;}
}
SwooleTaskFinish.php
<?phpnamespace app\controller;use app\BaseController;
use Swoole\Server;class Index extends BaseController
{public function index(Server $server){$server->task(['test'=>'test value']);return ;}
}
跑起来的样子
thinkphp使用 think-swoole task相关推荐
- THINKPHP中使用swoole
THINKPHP中使用swoole 首先,运行swoole服务端程序要在命令行模式下运行php文件,所以thinkphp要设置成命令行模式运行,在入口文件中增加一个配置即可: define('MODE ...
- thinkphp 5.1 swoole扩展websocket使用教程
转载请注明: 藏羚骸的博客~thinkphp 5.1 swoole扩展websocket使用教程. 安装think-swoole ThinkPHP 5.1 安装命令 config/swoole.php ...
- swoole task MySQL连接池
参考 https://blog.csdn.net/ldy3243942/article/details/40596547 上一章中我简单讲解了如何开启和使用Task功能.这一节,我将提供一个Task的 ...
- Swoole Task任务使用
Swoole 异步Task,主要实现调用异步任务的执行. 常用的场景:异步支付处理.异步订单处理.异步日志处理.异步发送邮件/短信等. Swoole 的实现方式是 worker 进程处理数据请求,分配 ...
- swoole task 异步任务 注释请忽略 自己加的不一定对 别误导大家。。。。。。
注释可以忽略不计 个人加的 可能会有错误 别误导大家... server端 <?php class Server {private $serv;public function __constru ...
- Swoole结合Thinkphp发送10万+微信模板消息
使用Thinkphp5.0框架 服务端: <?php namespace app\Console;use think\console\Command; use think\console\Inp ...
- php定时任务sw,[原创]Swoole和Swoft的那些事(Task投递/定时任务篇)
Swoft的任务功能基于Swoole的Task机制,或者说Swoft的Task机制本质就是对SwooleTask机制的封装和加强. 任务投递 //Swoft\Task\Task.php class T ...
- swoole不是php,Swoole
## Swoole php代码只是个表现形式,程序最终是运行在内存中的进程,内存中一种东西,代码只是一种形式而已. 代码只是一个形式,以一种方式来创建一个运行在内存中的程序,所以Swoole的php脚 ...
- php 游戏开发swoole,《基于 Swoole 的对战游戏实践》开课啦
项目由来 在三月份的时候就开始编写这个项目,原本只是觉得自己对 Swoole 不太熟练,当作练手来写着玩的.写着写着发现还挺好玩的,代码量也不多,捉迷藏游戏的趣味性不错. 如果只写完代码就扔在 Git ...
最新文章
- python数据库管理实例_西游之路——python全栈——学员管理实例之数据库设计
- 用命令行管理你的GitHub项目,不必再开网页,官方CLI工具1.0版今日上线
- Thymeleaf中设置每个页面引入公共css样式
- Linux怎么查询全部容器时间,linuxea:如何单单修改docker容器的系统时间
- 双向特征融合的数据自适应SAR图像舰船目标检测模型
- 最长回文串_第78天——第78题(最长回文串 )
- from gi.repository import Gtk, GObject
- 延迟上班别发愁,远程办公抗疫情!
- 【转载】如何让外网访问IIS里面搭建的网站
- web元素定位之------日历控件的定位
- Ubuntu 14.04 LTS 安装 文泉驿微米黑 字体到android studio
- python2048游戏实训报告_Python 实现 2048 游戏
- 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
- 神经网络计算棒怎么用,英特尔神经计算棒拆解
- Windows10远程桌面登录——Teamviewer
- windows10专业版 docker desktop 安装失败
- Python 算法:线性回归及相关公式推导
- 基于CNN卷积神经网络实现中文手写汉字识别
- 第十届蓝桥杯JavaB组省赛真题
- 通用的一阶IIR数字高通滤波器的实现