Php 使用队列或计划执行此转换作业是否更好?
我需要使用Laravel转换/调整上传图像的大小,以便它们在接下来的几秒钟或几分钟内可用 我想知道,为了减轻服务器的压力,使用LaravelPhp 使用队列或计划执行此转换作业是否更好?,php,laravel,Php,Laravel,我需要使用Laravel转换/调整上传图像的大小,以便它们在接下来的几秒钟或几分钟内可用 我想知道,为了减轻服务器的压力,使用Laravel时间表或队列 如果排队是要走的路,如何调度?(延迟?如果您希望多个用户同时上传多个图像,在这种情况下,我将坚持使用队列完成此任务。这里有一个链接,他们有很好的文档 步骤1:php artisan队列:表&php artisan迁移。这将创建两个表:jobs和failed_jobs 步骤2:创建作业php artisan make:Job ResizeImag
时间表
或队列
如果
排队
是要走的路,如何调度?(延迟?如果您希望多个用户同时上传多个图像,在这种情况下,我将坚持使用队列
完成此任务。这里有一个链接,他们有很好的文档
步骤1:php artisan队列:表
&php artisan迁移
。这将创建两个表:jobs和failed_jobs
步骤2:创建作业php artisan make:Job ResizeImage
。这将在jobs文件夹下创建一个新文件。是实现ShouldQueue
为您带来了奇迹
步骤3:制作一个<代码>大小图像::调度($params)代码>。要延迟,添加->delay(现在()->addMinutes(10))代码>
步骤4:在.env文件中,将QUEUE\u CONNECTION=sync
更改为QUEUE\u CONNECTION=database
。此配置将由config/queue.php
文件使用
步骤5:清除配置和缓存<代码>php artisan配置:清除
php artisan缓存:清除
需要了解的事情:
- 分派作业时,将向作业表中添加新行。在作业文件中添加到handle()方法的任何内容都将添加到表的payload列中
- 要触发队列,您可以向服务器添加一个
,或者一个简单的supervisor
将运行作业php artisan队列:work