“Laravel 10.31”发布

2023年 11月 15日 85.3k 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 平台仅提供信息存储空间服务。

    相关文章

    塑造我成为 CTO 之路的“秘诀”
    “人工智能教母”的公司估值达 10 亿美金
    教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
    Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
    Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
    上海新增 11 款已完成登记生成式 AI 服务

    发布评论