thinkphp5.0使用workerman多线程实例

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了thinkphp5.0使用workerman多线程实例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
测试环境:PHP7 + Nginx +linux

  

首先去官网下载workerman:https://www.workerman.net/,建议使用composer 安装

 

新建一个模块,由于我这里使用workerman来做自动任务的,所以我这个模块的名称为:task

thinkphp5.0使用workerman多线程实例

 

在controller文件夹里面新建一个控制器:Worker.PHP,里面的代码如下

<?PHP
namespace app\task\controller;
use think\worker\Server;
use Workerman\Lib\Timer;

class Worker extends Server {
    PRotected $socket = ‘‘;
    protected $processes = 4;//四进程
    protected $port = ‘2369‘;//监听端口

    /**
     * 每个进程启动
     * @param $worker
     */
    public function onWorkerStart($worker){
        if ($worker->id === 0) {
            Timer::add(1,function(){
                echo ‘这是进程0....‘;
            });            
        }else if ($worker->id === 1) {
            Timer::add(1,function(){
                echo ‘这是进程1.....‘;
            });
        }else if ($worker->id === 2) {
            Timer::add(1,function() {
                echo ‘这是进程2.进程2...‘;
            });
        }else if ($worker->id === 3) {
            Timer::add(1,function() {
                echo ‘进程3,这是进程3....‘;
            });
        }
    }
}

  添加一个入口文件worker.PHP内容如下:

<?PHP
define(‘APP_PATH‘,__DIR__ . ‘/../app/‘);
define(‘BIND_MODULE‘,‘task/Worker‘);
// 加载框架引导文件
require __DIR__ . ‘/../thinkPHP/start.PHP‘;

  

 最后,用cli模式执行一下上面这个入口文件即可(window系统使用cmd)

脚本宝典总结

以上是脚本宝典为你收集整理的thinkphp5.0使用workerman多线程实例全部内容,希望文章能够帮你解决thinkphp5.0使用workerman多线程实例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。