Laravel 10.31 发布
admin
2023-12-01 18:03
本周,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");Copy
增加对 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
[10.x] 允许
Sleep::until()
方法传递一个字符串类型的时间戳参数 由 @jameshulse 发布于 github.com/laravel/framework/pull/...[10.x] 修复
whereHasMorph()
方法使用空变量问题 由 @MarkKremer 发布于 github.com/laravel/framework/pull/...[10.x] 处理了
class_uses_recursive
中class_parents
返回 false 问题 由 @RoflCopter24 发布于 github.com/laravel/framework/pull/...[10.x] 支持对
fragments()
和fragmentsIf()
方法中所有片段启用默认检索 由 @tabuna 发布于 github.com/laravel/framework/pull/...[10.x] 允许在任务链中添加批处理 由 @khepin 发布于 github.com/laravel/framework/pull/...
[10.x] 在异步 http 客户端请求中分发
connection failed
事件 由 @gdebrauwer 发布于 github.com/laravel/framework/pull/...认证方法重构为使用空聚合运算符 由 @miladev95 发布于 github.com/laravel/framework/pull/...
[10.x] 增加 Sec-Purpose 头的支持 由 @nanos 发布于 github.com/laravel/framework/pull/...
[10.x] 允许在 Flysystem 文件系统上设置 retain_visibility 配置选项 由 @jnoordsij 发布于 github.com/laravel/framework/pull/...
[10.x] 拆分通配符规则时转义斜杠 由 @matt-farrugia 发布于 github.com/laravel/framework/pull/...
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341