参考资料

  1. Fresns 配合 Octane 和 FrankenPHP,是目前社区公认提升访问速度最核心的手段
  2. Fresns 对 PHP 超时限制有明确要求,主要是为了避免插件依赖下载超时
  3. Supervisor 是 Fresns 在生产环境中运行队列的标准方案
  4. Fresns 的 PHP 扩展要求分为 必选 和 按需安装 两类
  5. Fresns 管理面板的默认登录入口是 /fresns/admin
  6. Fresns 对 Composer 的版本要求很明确:不低于 2.5
  7. Fresns 的终端中清理缓存,需要根据具体的缓存类型来执行
  8. Fresns 的代理环境配置,核心是让系统在 CDN 或反向代理

Fresns 的队列进程启动命令,核心就是 php artisan queue:work

Fresns 的队列进程启动命令,核心就是 php artisan queue:work。下面结合宝塔面板的进程守护功能,说明具体参数和示例。

📂 基础启动命令

php artisan queue:work

这条命令启动一个常驻进程,持续从队列中取出任务并执行。它适合生产环境,因为 queue:work 是常驻进程,性能比 queue:listen 更好。

⚙️ 常用参数说明

在宝塔的进程守护管理器中,启动命令通常需要写成完整的一行,并带上必要参数:

php artisan queue:work redis --queue=fresns --tries=3 --timeout=60
参数作用说明
redis指定连接驱动与 .env 中 QUEUE_CONNECTION=redis 对应;若用 database 则改为 database
--queue=fresns指定监听的队列名需与 .env 中 REDIS_QUEUE=fresns 一致,不指定则默认监听 default
--tries=3任务最大重试次数超过次数后写入 failed_jobs 表
--timeout=60单任务超时秒数超时后进程会被杀死,防止卡死

🔄 队列进程重启

当插件升级或代码更新后,必须重启队列进程,否则新代码不会生效。这是因为 queue:work 是常驻内存的守护进程,不会在每个任务前重新加载框架。

在宝塔的进程守护管理器中,找到对应的 Fresns 队列进程,点击“重启”即可。如果通过命令行操作,可以执行:

php artisan queue:restart

这条命令会通知所有 worker 进程在处理完当前任务后平滑退出,由 Supervisor 自动拉起新进程。

💡 宝塔配置示例

在宝塔“进程守护管理器”中添加时:

  • 名称:fresns-queue

  • 启动用户:www

  • 运行目录:/www/wwwroot/你的Fresns路径

  • 启动命令:php artisan queue:work redis --queue=fresns --tries=3 --timeout=60

如果后续任务量增大,可以添加多个守护进程,启动命令相同即可,Supervisor 会同时运行多个 worker 并行处理任务。

作者:王壹杰
时间:2026-10-01 16:42:32
来源:https://fresns.ciilii.com/