博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swoole异步任务task处理慢请求简单实例
阅读量:6306 次
发布时间:2019-06-22

本文共 1908 字,大约阅读时间需要 6 分钟。

1.根据php版本下载对应的swoole扩展版本进行编译安装,步骤安装官方手册进行安装即可

2.创建一个异步服务器程序Server,只能用于php-cli环境,以thinkphp5为例复制public目录下的入口文件index.php到cli目录cli.php里
swoole异步任务task处理慢请求简单实例
swoole异步任务task处理慢请求简单实例
4.application目录下创建cli目录控制器TaskServer.php,代码如下:

serv = new \Swoole\Server('0.0.0.0', 9504); $this->serv->set(array( 'worker_num' => 4,//为CPU核数的1-4倍 'task_worker_num' => 4, 'max_request' => 10000,//最大请求 'daemonize' => 0,//1为守护进程 // 'log_file'=>"/www/log/service/cli/task.log"//日志文件 )); $this->serv->on('Start',function($serv){ echo 'server start!'; }); $this->serv->on('Receive', function($serv, $fd, $from_id, $data) { echo $data.PHP_EOL; if (!$data) { echo "data error!"; $serv->send($fd,'fail'); } else { $task_id = $serv->task($data); $serv->send($fd,'ok'); echo "Dispath AsyncTask: id=$task_id".PHP_EOL; } }); $this->serv->on('Task', function ($serv, $task_id, $from_id, $data) { echo "New AsyncTask[id=$task_id,from_id=$from_id]".PHP_EOL; //这里写入具体执行内容 $serv->finish("$data -> OK".PHP_EOL); }); $this->serv->on('Finish', function ($serv, $task_id, $data) { echo "AsyncTask[$task_id] Finish: $data\r\n\r\n"; }); $this->serv->start(); }

5.在linux环境中执行,php安装路径+项目路径

/usr/local/php7/bin/php /www/tp5/cli/cli.php Cli/Taskserver/start

swoole异步任务task处理慢请求简单实例

如屏幕输出则创建成功
6.编写api控制器index.php同步client客户端

$client = new \swoole_client(SWOOLE_SOCK_TCP);        if (!$client->connect('0.0.0.0', 9504, 0.5))        {            exit("connect failed. Error: {$client->errCode}\n");        }        $client->send("hello world\n");        echo $client->recv();        $client->close();

执行index.php,在linux屏幕可看到执行结果

swoole异步任务task处理慢请求简单实例

转载于:https://blog.51cto.com/14210437/2367116

你可能感兴趣的文章
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>
把自己Github上的代码添加Cocoapods支持
查看>>
C语言OJ项目参考(2493)四则运算
查看>>
零基础入门深度学习(二):神经网络和反向传播算法
查看>>
find和xargs
查看>>
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>
【工具】系统性能查看工具 dstat
查看>>
基于zepto或jquery的手机端弹出框成功,失败,加载特效
查看>>
php引用(&)
查看>>
Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
查看>>
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>
python数据分析画图体验
查看>>