美文网首页
windows环境下redis消息队列

windows环境下redis消息队列

作者: 花佬爷 | 来源:发表于2023-02-09 10:48 被阅读0次

    redis安装

    php-redis扩展

    安装queue

    • composer require topthink/think-queue

    消息队列实现

    • 添加消息队列:think\Queue::push( 'app\que\Job' , $data , 'createOrderJob' );// 参数1:队列任务所在类;参数2:队列任务的业务参数;参数3:任务名称
    • 队列任务函数
    /**
         * fire方法是消息队列默认调用的方法
         * @param \think\queue\Job            $job      当前的任务对象
         * @param array|mixed    $data     发布任务时自定义的数据
         */
        public function fire(\think\queue\Job $job, $data)
        {
            //业务处理代码
            $isJobDone = $this->create($data);
    
            if ($isJobDone) {
                // 任务执行成功,删除任务
                $job->delete();
            } else {
                if ($job->attempts() > 2) {
                    // 重试两次后做以下操作
                    // 可以删除这个任务
                    $job->delete();
                    // 也可以重新发布这个任务
    //                $job->release(2); //延迟2秒后再次执行
                }
            }
        }
    
        private function create($data)
        {
            Log::info('执行队列:'.json_encode($data));
            return true;
        }
    

    相关文章

      网友评论

          本文标题:windows环境下redis消息队列

          本文链接:https://www.haomeiwen.com/subject/yaickdtx.html