Laravel 高级版:你可能不知道的 5 大调度函数

36 篇文章 0 订阅
10 篇文章 0 订阅

在本文章中,我们将更深入地介绍我们常用的 Laravel 部分,以发现我们可以在下一个项目中使用的功能和特性……如果我们了解它们就好了!本系列的第一篇文章是关于 Laravel Scheduler - 它有助于运行计划任务(又名 cron 作业)。

让我们探索一些鲜为人知的调度程序功能:

1. skip() 与 when()

如果您希望仅在某些条件满足时才执行计划任务true,请使用when()内联设置此类条件:

$schedule->command('your:command')->when(function () {
    return some_condition();
});

skip()和方法正好相反when(),如果skip方法返回true,则不会执行计划任务:

$schedule->command('emails:send')->daily()->skip(function(){
    return Calendar::isHolidauy();
});

2. withoutOverlapping()

您可能正在运行一项关键作业,该作业一次只能运行一个实例。这样可​​以withoutOverlapping()确保计划任务不会重叠,从而防止潜在的冲突。

$schedule->command('your:command')->withoutOverlapping();

3. 然后Ping()

执行任务后,您可能想要 ping 一个 URL 来通知另一个服务或触发另一个操作。thenPing()让您无缝地完成这些操作。

$schedule->command('your:command')->thenPing('http://example.com/webhook');

4. 后台运行()

如果您希望计划任务在后台运行而不阻止其他进程。runInBackground()将帮助您做到这一点:

$schedule->command('your:command')->runInBackground();

5. 甚至在维护模式()

听名字你就能猜出它是干什么的。即使你的应用程序处于维护模式,你也可以执行计划任务。

$schedule->command('your:command')->evenInMaintenanceMode();

现在就这些了,朋友们!尝试一下;在您的任务自动化中使用这些调度程序函数,让您的代码变得更加简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rorg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值