think-queue 消息队列

chenvle 2022-11-04 PM 2912℃ 39条
  • 安装think-queue 组件
composer require topthink/think-queue
  • 配置文件/config/queue.php
<?php
return [
    'default'     => 'redis',
    'connections' => [
        'sync'     => [
            'type' => 'sync',
        ],
        'database' => [
            'type'  => 'database',
            'queue' => 'default',
            'table' => 'jobs',
        ],
        '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',
    ],
];
  • 创建消费者类
  • 编辑消费者类
<?php
namespace app\admin\job;
use think\queue\Job;

class Task
{
    public function fire(Job $job, $data)
    {
        $rt = $this->doJob($data);
        if($rt){
            $job->delete();
            return true;
        }

        // 重试三次失败 todo...
        if($job->attempts() == 3){
            $job->delete();
            return false;
        }

        //执行失败10S后重试
        $job->release(10);


    }

    public function doJob($data)
    {
        //执行任务
        return true;
    }


}
  • 控制器编写逻辑代码
public function redis()
    {
        $jobHandlerClassName = 'app\admin\job\Task';
        $jobQueueName = 'task';
        $orderData = ['order_sn'=>time()];
        //Queue::push();//立即执行

        //这儿的10是指10秒后执行队列任务
        $isPushed = Queue::later('10', $jobHandlerClassName, $orderData, $jobQueueName); 


        if($isPushed !== false){
            echo '队列添加成功';
        }else{
            echo '插入失败了';
        }

    }
  • 在服务器的项目目录运行队列监听
php think queue:listen --queue task
或
php think queue:work --queue task
  • 拓展:Supervisor安装
  • 备注
$isPushed = Queue::later('10', $jobHandlerClassName, $orderData, $jobQueueName); 中如果$jobQueueName 不传参数,则队列监听可不指定队列任务(php think queue:listen),如传了则必须要指定任务才会执行!!!#避坑

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 39 条评论


  1. iorfosqdfz
    iorfosqdfz

    这篇文章不错!

    回复 2025-03-07 01:44
  2. cfffzlyysb
    cfffzlyysb

    这篇文章不错!

    回复 2025-03-07 00:44
  3. zvgqofkodt
    zvgqofkodt

    这篇文章不错!

    回复 2025-03-07 00:33
  4. sdfxkpzskv
    sdfxkpzskv

    这篇文章不错!

    回复 2025-03-07 00:23
  5. nwbqendxlg
    nwbqendxlg

    这篇文章不错!

    回复 2025-03-06 23:18
  6. ywqcghldwt
    ywqcghldwt

    作者的布局谋篇匠心独运,让读者在阅读中享受到了思维的乐趣。

    回复 2025-03-04 15:34
  7. dcqzefciya
    dcqzefciya

    文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。

    回复 2025-03-04 15:10
  8. wosffsuhun
    wosffsuhun

    案例丰富且贴合主题,论证逻辑环环相扣。

    回复 2025-03-02 17:28
  9. rvqgyrblwu
    rvqgyrblwu

    独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。

    回复 2025-03-02 17:13
  10. xesqaharfv
    xesqaharfv

    作者以简洁明了的语言,传达了深刻的思想和情感。

    回复 2025-03-02 17:03
  11. btdgqtvknw
    btdgqtvknw

    作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。

    回复 2025-03-02 16:40
  12. ezmshzahcb
    ezmshzahcb

    每个标点都承载着思考的重量。

    回复 2025-03-01 08:18
  13. xcbavehcix
    xcbavehcix

    段落衔接自然,过渡流畅,读来一气呵成。

    回复 2025-03-01 05:16
  14. abpjnyhnpy
    abpjnyhnpy

    对趋势的预判具有战略参考价值。

    回复 2025-03-01 03:48
  15. jsavdfwowm
    jsavdfwowm

    ?创新性评语?

    回复 2025-03-01 03:16
  16. ulikkxdlre
    ulikkxdlre

    人物刻画立体,细节描写入木三分。

    回复 2025-03-01 01:57
  17. eiwzeprteb
    eiwzeprteb

    故事线完整,伏笔巧妙,结局耐人寻味。

    回复 2025-03-01 01:57
  18. ccvbkcxcss
    ccvbkcxcss

    建议增加个人经历分享,增强情感穿透力。

    回复 2025-02-28 22:50
  19. cfyfvurtxv
    cfyfvurtxv

    字里行间饱含人文关怀,温暖而有力。

    回复 2025-02-28 22:50
  20. mkinbbinin
    mkinbbinin

    学术术语使用精准,专业性突出。

    回复 2025-02-28 22:05
  21. umwpodsenm
    umwpodsenm

    ?国际化视角评语?

    回复 2025-02-28 21:51
  22. fkoapnhmho
    fkoapnhmho

    古典诗词化用自然,毫无斧凿痕迹。

    回复 2025-02-28 21:51
  23. elaetrmepm
    elaetrmepm

    建议增加田野调查素材,提升真实性。

    回复 2025-02-28 21:33
  24. gxluejepys
    gxluejepys

    建议在揭露问题时提供建设性解决方案。

    回复 2025-02-28 21:22
  25. ndrjojkhio
    ndrjojkhio

    意象选取精妙,营造出空灵意境。

    回复 2025-02-28 21:07
  26. gzvaibzvrc
    gzvaibzvrc

    如星火燎原,既有锋芒又不失温度。

    回复 2025-02-28 20:53
  27. qjksgeopqc
    qjksgeopqc

    多语种文献的引用彰显学术包容性。

    回复 2025-02-28 20:37
  28. ntkdegixqk
    ntkdegixqk

    全球视野与本土实践结合恰到好处。

    回复 2025-02-28 20:37
  29. apgksnzecb
    apgksnzecb

    对权力结构的解构充满勇气与智慧。

    回复 2025-02-28 20:23
  30. ruktrpvtat
    ruktrpvtat

    立意高远,以小见大,引发读者对社会/人性的深层共鸣。

    回复 2025-02-28 18:02
  31. ayaffseret
    ayaffseret

    作者的观点新颖且实用,让人在阅读中获得了新的思考和灵感。

    回复 2025-02-28 17:20
  32. sasviwjvib
    sasviwjvib

    字里行间流露出真挚的情感,让人感同身受,共鸣不已。

    回复 2025-02-28 16:37
  33. ixhkfmbkln
    ixhkfmbkln

    作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。

    回复 2025-02-28 16:22
  34. gcslahrict
    gcslahrict

    对生命本质的追问充满哲学思辨。

    回复 2025-02-28 16:15
  35. ngajpcaaej
    ngajpcaaej

    创新略显不足,可尝试引入多元视角。

    回复 2025-02-28 15:32
  36. ljcheqrcmu
    ljcheqrcmu

    情感真挚自然,字里行间传递出强烈的感染力。

    回复 2025-02-28 15:22
  37. lnixvchgfb
    lnixvchgfb

    《声生不息家年华葫芦家庭录像带》大陆综艺高清在线免费观看:https://www.jgz518.com/xingkong/14959.html

    回复 2025-01-03 06:32
  38. gsmzbnzkju
    gsmzbnzkju

    你的才华让人瞩目,期待你的更多文章。 http://www.55baobei.com/6ocxQQBPTb.html

    回复 2024-12-06 22:12
  39. jpeyyskeey
    jpeyyskeey

    看的我热血沸腾啊

    回复 2024-09-23 10:08