前言
最近在摸鱼的时候发现一个PHP常驻内存多进程任务扩展包:EasyTask: PHP常驻内存多进程任务管理器,支持定时任务(PHP resident memory multi-process task manager, supports timing tasks) (gitee.com),支持php使用多线程处理任务。之前我也写过使用workman开启多线程处理任务的文章:
Thinkphp+workman+redis实现多进程异步任务处理_tp6 workerman异步-优快云博客
Laravel+workman+redis实现多进程异步任务处理_laravel workerman-优快云博客
相比workman和swoole, 用法差不多,但是EasyTask对于windows环境更加友好,开发起来也更加简单灵活。
使用
安装就不多废话了,直接参照官方文档安装即可,没有什么困难。
直接用thinkphp5.1框架写一个 EasyTask 开启多进程消费redis队列的测试栗子看看效果。
-
1.创建队列
<?php namespace app\index\controller; use think\Controller; class Index extends Controller { //新增队列数据 public function addQueue() { $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); for ($i = 0; $i < 10; $i++) { $redis->rPush(