搜索中心
搜索中心 搜索快照

宝塔安装ModStart - 宝塔配置MySQL队列调度

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

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

在执行该步骤前,请先检查迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php 是否存在,如果已存在直接跳过第①步

# 运行该命令之前请检查是否存在迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.php
# 如果存在直接跳过该步骤
/www/server/php/xxx/bin/php artisan queue:table
# 运行该命令之前请检查是否存在迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_failed_jobs_table.php
# 如果存在直接跳过该步骤
/www/server/php/xxx/bin/php artisan queue:failed-table

这一步会生成数据库迁移文件 database/migrations/xxxx_xx_xx_xxxxxx_create_jobs_table.phpdatabase/migrations/xxxx_xx_xx_xxxxxx_create_failed_jobs_table.php

② 执行数据库迁移文件

/www/server/php/xxx/bin/php artisan migrate

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

QUEUE_DRIVER=database
QUEUE_CONNECTION=database

④ 运行队列进程测试运行

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

Laravel5

/www/server/php/xxx/bin/php artisan queue:work database --queue=default --sleep=5 --memory=4096 --tries=1 --timeout=86400

Laravel9

/www/server/php/xxx/bin/php artisan queue:work database --queue=default --once ---sleep=5 --memory=4096 --tries=1 --timeout=86400

⑤ 配置进程守护插件

安装守护进程supervisor

添加守护进程

  • 启动命令:/www/server/php/xxx/bin/php /www/wwwroot/example.com/artisan queue:listen database --queue=default --sleep=5 --memory=4096 --tries=1 --timeout=86400
    • xxx 是PHP的版本号
    • default 为队列名称,默认为 default,还有其他队列如文档转换 FileConvert
  • 进程数量:可以根据系统的并发数填写,可以默认填 1

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

如果堡塔防入侵插件,默认的 www 用户可能会被禁止执行任何程序,需要额外再配置一下 php 程序为白名单即可。

查看原文
QQ
微信