fastadmin/thinkPHPQueue消息队列详细教程

thinkphp-queue 是thinkphp 官方提供的一个消息队列服务,它支持消息队列的一些基本特性:

  1. 消息的发布,获取,执行,删除,重发,失败处理,延迟执行,超时控制等
  2. 队列的多队列, 内存限制 ,启动,停止,守护等
  3. 消息队列可降级为同步执行

1、通过composer安装thinkPHP消息队列

composer require topthink/think-queue

2、在 application/extra/queue.php 文件中配置消息队列驱动

<?php

use think\Env;

return [
    'connector'  => 'redis',                             // // 驱动类型,可选择 sync(默认):同步执行,database:数据库驱动,redis:Redis驱动,topthink:Topthink驱动
    'expire'     => null,                                // 任务的过期时间,默认为60秒; 若要禁用,则设置为 null
    'default'    => 'defaultQueue',                      // 默认的队列名称
    'host'       => Env::get('redis.host', '127.0.0.1'), // redis 主机ip
    'port'       => Env::get('redis.port', 6379),        // redis 端口
    'password'   => Env::get('redis.password', ''),      // redis 密码
    'select'     => Env::get('redis.database', 0),       // 使用哪一个 db,默认为 db0
    'timeout'    => 0,                                   // redis连接的超时时间
    'persistent' => false,
];

配置文件中的 expire 参数说明:

expire 参数指的是任务的过期时间, 单位为秒。 过期的任务,其准确的定义是

任务的状态为执行中
任务的开始执行的时刻 + expire > 当前时刻
expire 不为null 时 ,thinkphp-queue 会在每次获取下一个任务之前检查并重发过期(执行超时)的任务

相关推荐

  1. 消息 队列

    2024-06-07 22:46:01       36 阅读
  2. 项目中的任务调度和消息队列方案详解

    2024-06-07 22:46:01       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 22:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 22:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 22:46:01       82 阅读
  4. Python语言-面向对象

    2024-06-07 22:46:01       91 阅读

热门阅读

  1. 《effective c++》学习笔记

    2024-06-07 22:46:01       26 阅读
  2. npm yarn 更换国内源以及node历史版本下载地址

    2024-06-07 22:46:01       38 阅读
  3. leetcode 279.完全平方数

    2024-06-07 22:46:01       32 阅读
  4. 使用OpenCV进行简单图像分割的3个步骤

    2024-06-07 22:46:01       28 阅读
  5. ES 面试手册

    2024-06-07 22:46:01       29 阅读
  6. 2024河南高考作文ChatGPT

    2024-06-07 22:46:01       36 阅读
  7. 汽车软件单元测试分析

    2024-06-07 22:46:01       28 阅读