文库配置异步转换(宝塔)

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

步骤1,生成数据库队列表迁移文件

在执行该步骤前,请先检查迁移文件 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

步骤2,执行数据库迁移文件

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

步骤3,修改配置文件 .env 配置队列驱动为数据库

QUEUE_DRIVER=database
QUEUE_CONNECTION=database

步骤4,运行队列进程测试运行

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

Laravel5

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

Laravel9

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

步骤5,配置进程守护插件

安装守护进程supervisor

添加守护进程

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

注意,如果使用了异步转换,需要配置两个队列,FileConvert 是文件转换,default 是默认的系统队列处理

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

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

更新: 2024-01-29 11:50:36
QQ
微信