“Laravel 10.31”发布

2023年 11月 15日 36.9k 0

本周 Laravel 框架团队发布了 v10.31,这一版本能够支持在工作队列(Job)中进行批量处理,可按顺序运行工作队列(也称为工作链),也可以并行处理一批工作队列,完成批量工作后能够继续运行队列。

允许以批量方式置于队列

Sebastien Armand添加了在作业队列中批量运行的功能。这是开发者们在 Square 几个地方遇到的一个典型用例。其中会遇到一个需要处理的串行工作流程,会有一个或多个步骤可能应该并行处理,或者可能在最初触发工作流程时其长度未知,还需要创造更多工作队列,以前情形我们还需要知道这一切何时完成,以确保保持队列运转畅通。

以下是 Laravel 更新的Chains & Batches 文档中的示例,必要时先刷新缓存,释放一批Podcast,接着再批量通知Podcast:

use AppJobsFlushPodcastCache;
use AppJobsReleasePodcast;
use AppJobsSendPodcastReleaseNotification;
use IlluminateSupportFacadesBus;
 
Bus::chain([
    new FlushPodcastCache,
    Bus::batch([
        new ReleasePodcast(1),
        new ReleasePodcast(2),
    ]),
    Bus::batch([
        new SendPodcastReleaseNotification(1),
        new SendPodcastReleaseNotification(2),
    ]),
])->dispatch();

Sleep::until() 

处理字符串时间戳

James Hulse贡献了将时间戳字符串传递给函数 Sleep::until(),以确保该值仍是数字。如:

  • Sleep::until("1699411804");
  • Sec-Purpose添加了对标头的支持

    @nanos在依赖该方法时贡献了对Sec-Purpose标头的支持$request->prefetch():

    原因为:虽然大多数用户代理在预获取请求中设置 Purpose: prefetch,但最新版本的firefox中使用 Sec-Purpose: prefetch。这意味着,无论预取状态如何,对请求调用 ->prefetch() 方法对于通过 Firefox 浏览器发送的请求都将返回 false。

    以上内容来自Laravel变更日志,可在 GitHub 上查看下面的新功能和更新的完整列表以及10.30.0 和 10.31.0之间的差异。

    本文为 @ 寂静日光 创作并授权21CTO发布,未经许可,请勿转载。

    内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。

    该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。

    相关文章

    Java 之父 James Gosling 宣布退休
    快手文生图大模型可图宣布开源
    李彦宏:开源模型是智商税
    VLMs多模态大模型当下进展与思考
    开源日报 | 李彦宏称开源模型是智商税;Windows下的GUI开发;有趣的人形机器人;边学AI边赚钱
    Meta 开源新的“多标记预测”语言模型

    发布评论