宝塔配置 MySQL 队列调度

  • 执行以下操作前提前进入网站根目录,如 cd /www/wwwroot/xxx.com
  • 执行 artisan 命令前请参照 开发教程 → 开发使用问题 → 如何运行 php artisan xxx 命令

① 生成数据库队列表迁移文件

在执行该步骤前,请先检查迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php 是否存在,如果已存在直接跳过第①步
php artisan queue:table
php artisan queue:failed-table
这一步会生成数据库迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php 和 database/migrations/xxxx_xx_xx_xxxxxx_create_failed_jobs_table.php

② 执行数据库迁移文件

php artisan migrate

③ 修改配置文件 .env 配置队列驱动为数据库

QUEUE_DRIVER=database
QUEUE_CONNECTION=database

④ 运行队列进程测试运行

如果队列中有任务,以下命令会自动执行一个任务,查看是否报错,无报错表示配置成功

Laravel5

php artisan queue:work database --sleep=3 --tries=3

Laravel9

php artisan queue:work database  --once --sleep=3 --tries=3

⑤ 配置进程守护插件

安装守护进程 supervisor

添加守护进程

  • 启动命令:/usr/bin/php/www/wwwroot/xxx.com/artisan queue:listen database --sleep=3 --tries=3
  • 进程数量:可以根据系统的并发数填写,可以默认填 1

安装检查完成后检查确保进程状态为 已启动

作者:|戴马师|,原文链接: https://segmentfault.com/a/1190000042669483

文章推荐

Java的Atomic原子类

Springboot通过谷歌Kaptcha 组件,生成图形验证码

Android 通过scheme跳转支付宝实现支付

java获取到heapdump文件后,如何快速分析?

jmap执行失败了,怎么获取heapdump?

mongoDB操作指南

SpringBoot项目中使用缓存Cache的正确姿势!!!

C++库封装JNI接口——实现java调用c++

消息队列简介

阿里二面:main 方法可以继承吗?

算法链与管道(上):建立管道

源码解读etcd heartbeat,election timeout之间的拉锯