tp6 消息队列

配置文件根目录下config/queue.php

return [

    'default'     => 'redis',

    'connections' => [

        'sync'     => [

            'type' => 'sync',

        ],

        'database' => [

            'type'       => 'database',

            'queue'      => 'default',

            'table'      => 'jobs',

            'connection' => null,

        ],

        'redis'    => [

            'type'       => 'redis',

            'queue'      => 'default',

            'host'       => '127.0.0.1',

            'port'       => 6379,

            'password'   => '',

            'select'     => 0,

            'timeout'    => 0,

            'persistent' => false,

        ],

    ],

    'failed'      => [

        'type'  => 'none',

        'table' => 'failed_jobs',

    ],

];

控制器创建消息

use app\job\service\Create;

use think\facade\Queue;

  public function create()

    {  

        $post = $this->postData();

      

        $post['url']=base_url();

        $jobQueueName = "Create";

         // 将任务放入消息队列中,使用默认的队列驱动(如Redis)和默认的队列名(如default)

        $isPushed = Queue::push(Create::class, $post, $jobQueueName);

         if($isPushed!==false){

            return $this->renderSuccess('后台正在生成中,请稍后刷新列表',$isPushed);

}

         return $this->renderError('生成失败,请联系管理员!');

        //

    }

然后在app\job\service目录下处理生成的消息队列

namespace app\job\service;

class Create

{

    public function fire($job, $data)

    {

       //处理业务逻辑

       // 任务成功处理

       $job->delete(); // 删除队列任务

    }

}

cmd   开启服务 php think queue:work --queue Create 

这样就成功了

注:如果失败了 可以在日志里看报错信息runtime/logs 下面

注意 要开启redis服务

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_31349407

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值