前言
PHP本身并不直接支持多线程编程,因为PHP的设计初衷是作为一个脚本语言,主要面向的是Web开发。不过我们可以使用一些扩展和库来实现多进程的功能,提高系统性能,比如workerman和swoole。通过多进程异步执行任务。
安装workman
-
简介
文档:
-
环境要求
- PHP >= 7.2
- Composer >= 2.0
- Linux系统
-
安装扩展
composer require workerman/gateway-worker
Laravel中使用workman创建多进程任务
-
1.创建 artisan命令
目录下建立命令行文件
WorkermanCommand
php artisan make:command WorkermanCommand
文件内容如下
protected $signature = 'workman {action} {--d}'; protected $description = 'Start a Workerman server.'; public function handle() { global $argv; $action = $this->argument('action'); $argv[0] = 'wk'; $argv[1] = $action; $argv[2] = $this->option('d') ? '-d' : ''; $this->start(); } private function start() { $this->startGateWay(); $this->startBusinessWorker(); $this->startRegister();