美文网首页
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