Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用队列或计划执行此转换作业是否更好?_Php_Laravel - Fatal编程技术网

Php 使用队列或计划执行此转换作业是否更好?

Php 使用队列或计划执行此转换作业是否更好?,php,laravel,Php,Laravel,我需要使用Laravel转换/调整上传图像的大小,以便它们在接下来的几秒钟或几分钟内可用 我想知道,为了减轻服务器的压力,使用Laravel时间表或队列 如果排队是要走的路,如何调度?(延迟?如果您希望多个用户同时上传多个图像,在这种情况下,我将坚持使用队列完成此任务。这里有一个链接,他们有很好的文档 步骤1:php artisan队列:表&php artisan迁移。这将创建两个表:jobs和failed_jobs 步骤2:创建作业php artisan make:Job ResizeImag

我需要使用Laravel转换/调整上传图像的大小,以便它们在接下来的几秒钟或几分钟内可用

我想知道,为了减轻服务器的压力,使用Laravel
时间表
队列


如果
排队
是要走的路,如何调度?(延迟?

如果您希望多个用户同时上传多个图像,在这种情况下,我将坚持使用
队列
完成此任务。这里有一个链接,他们有很好的文档

步骤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
    将运行作业
请仔细阅读这些文档,它们有非常好的+深入的+更好的解释和示例。干杯