为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Queue 或 Schedule 来完成此转换工作更好吗?

使用 Queue 或 Schedule 来完成此转换工作更好吗?

PHP
九州编程 2023-03-04 17:37:53
我需要使用 Laravel 转换/调整上传的图像,以便它们在接下来的几秒钟或几分钟内可用......我想知道,为了减轻服务器的压力,最好是使用 LaravelSchedules还是Queues如果Queues是路要走,如何调度?(延迟?)
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

如果您期望多个用户同时上传多张图片,在这种情况下,我会坚持执行Queue此任务。

第 1 步php artisan queue:tablephp artisan migrate。这将创建 2 个表:jobsfailed_jobs

第 2 步:创建工作php artisan make:job ResizeImage这将在作业文件夹下创建一个新文件。它implements ShouldQueue会为你施展魔法。

第 3 步:拨打调度电话。 ResizeImage::dispatch($params);. 要延迟,请添加->delay(now()->addMinutes(10));

第 4 步:在您的 .env 文件中,更改QUEUE_CONNECTION=syncQUEUE_CONNECTION=database. 此配置将由文件使用config/queue.php

第 5 步:清除配置和缓存。php artisan config:clear php artisan cache:clear


要了解的事情:

  • 当你派遣一个工作时,一个新行将被添加到工作表中。无论您添加到作业文件中的 handle() 方法,都将添加到表的有效负载列中。

  • 要触发队列,您可以将一个添加supervisor到您的服务器或一个简单的php artisan queue:work将运行作业。

请仔细阅读文档,他们有非常好的 + 深入的 + 更好的示例解释。干杯!


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号