如何从 Laravel 命令调度程序中减去天数?
How to subtract days from Laravel command scheduler?
我需要 运行 一个创建数据库的命令 table 每个季度,我找到了这个命令
$schedule->command('test:create-table table_test')->quarterly();
但我想在一周前 运行 这个命令,只是为了确保 table 在我开始向其中插入数据之前已经创建。
实现该目标的最佳方法是什么?
我认为这会对你有所帮助:$schedule->command('test')->yearlyOn(12, 24, 0);
第一个值 12
是十二月的月份,24
是一年结束前的一天。最后一个值是 0
时钟的时间!
这是一年结束前的一周。但你需要每季度你也可以使用 CRON
在引擎盖下,Laravel implements “每季度”作为每个季度的第一天在 00:00 使用 cron 语句 0 0 1 1-12/3 *
虽然没有内置的“weekBefore”方法,但有一个 cron()
方法,您可以通过选择相当接近,例如,单个月份的第 24 天cron 语句。例如:
// Run on the 24th of Mar, Jun, Sept, and Dec
$schedule->command('foo')->cron('0 0 24 3,6,9,12 *');
如果你想 正好 前一周,你必须将它分成至少两个陈述(因为三月和十二月有 31 天,而六月和九月有 30).
我需要 运行 一个创建数据库的命令 table 每个季度,我找到了这个命令
$schedule->command('test:create-table table_test')->quarterly();
但我想在一周前 运行 这个命令,只是为了确保 table 在我开始向其中插入数据之前已经创建。
实现该目标的最佳方法是什么?
我认为这会对你有所帮助:$schedule->command('test')->yearlyOn(12, 24, 0);
第一个值 12
是十二月的月份,24
是一年结束前的一天。最后一个值是 0
时钟的时间!
这是一年结束前的一周。但你需要每季度你也可以使用 CRON
在引擎盖下,Laravel implements “每季度”作为每个季度的第一天在 00:00 使用 cron 语句 0 0 1 1-12/3 *
虽然没有内置的“weekBefore”方法,但有一个 cron()
方法,您可以通过选择相当接近,例如,单个月份的第 24 天cron 语句。例如:
// Run on the 24th of Mar, Jun, Sept, and Dec
$schedule->command('foo')->cron('0 0 24 3,6,9,12 *');
如果你想 正好 前一周,你必须将它分成至少两个陈述(因为三月和十二月有 31 天,而六月和九月有 30).