Laravel 10.31 发布

本周,Laravel 团队发布了 10.31 版本,该版本提供了在任务链中添加批次的功能。您可以按顺序运行任务,然后并行执行一批任务,并在该批处理完成后继续任务链的操作。

允许在任务链上添加批处理

Sebastien Armand 增加了在任务链中批量处理任务的功能。

这是我们在 Square 的一些地方遇到的一个用例,在这些地方我们有一系列的任务流程需要处理,并且其中一个或多个步骤应该并行处理,或者在最初触发工作流时长度不明且可能会创建额外的任务,但是我们需要知道这些步骤什么时候完成,以确保任务链能够继续运行。

这里有一个来自已更新的 任务链 & 批处理文档 的例子,您可以先刷新缓存,发布一批播客,然后批量推送这些播客发布的通知:

use App\Jobs\FlushPodcastCache;
use App\Jobs\ReleasePodcast;
use App\Jobs\SendPodcastReleaseNotification;
use Illuminate\Support\Facades\Bus;

Bus::chain([
    new FlushPodcastCache,
    Bus::batch([
        new ReleasePodcast(1),
        new ReleasePodcast(2),
    ]),
    Bus::batch([
        new SendPodcastReleaseNotification(1),
        new SendPodcastReleaseNotification(2),
    ]),
])->then(function () {
    // ...
})->dispatch();

Sleep::until() 处理字符串时间戳

James Hulse 提供了将时间戳字符串传递给Sleep::until()方法的功能,该功能会确保传递的值仍然是数字:

Sleep::until("1699411804");

增加对Sec-Purpose头的支持

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

尽管大多数用户代理都在预取请求中设置了Purpose: prefetch,但如上面的 MDN 文章说的那样,Firefox 在最新版本中使用了Sec-Purpose: prefetch。这意味着通过 Firefox 浏览器对请求调用->prefet()方法时将对发送的请求返回 false,而不管预取状态如何。

发行说明

您可以在 GitHub 上看到下面的新功能和更新的完整列表以及 10.30.0 和 10.31.0 之间的区别。以下发布说明引自 更新日志

v10.31.0

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-10-31-0

译文地址:https://learnku.com/laravel/t/84667

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!