Open blankzas opened 1 year ago
就是启动一个自定义进程,监听一个redis队列,不断的 取出 消费里面的数据
主进程启动的时候传入consumerJobs参数就可以了,具体参考在 EasySwooleEvent.php 第35行
这个有看到注册 但是没看到怎样投递到指定的Process 想问一下参考代码例子
自定义进程会和Worker进程一起启动(其实也算Worker进程的一种),启动后 运行 BaseTrait.php 的run方法,也就是基于Timer定时器来实现的
比如我添加了一个处理Excel任务 我该怎样触发这个任务呢
示例:加入同级的config.php就可以,往redis队列里写入数据即可测试
[
'name' => 'ExportData', // 进程名
'class' => \App\CustomProcess\ExportData::class, // 运行类
'psnum' => 1, // 进程数, 默认1个
'queue' => 'xxxx 队列名', // 监听的redis队列名
'tick' => 1000, // 多久运行一次,单位毫秒, 默认1000毫秒
'limit' => 200, // 单次出队列的阈值, 默认200
'coroutine' => false // 是否为每条数据开启协程
'pool' => 'default' // redis连接池名称
],
注意消费进程是一直存在不断监听队列的,如果是定时运行的任务,你应该使用Crontab
我现在的情况也是配置了config
但是没找到写入redis队列需要的参数及例子
我是拿来做异步数据导出用的
看下这个进程启动了没有,如果启动了应该就是ok的,写入队列的话,任意客户端都可以,包括手动往redis去push都可以触发的
进程启动了 push 进去的数据有固定字段数据要求吗
没有要求的,push进去的是什么,consume方法接收到的就是什么,可以打印看看嘛
已解决问题 感谢
想了解一下CustomProcess的调用