首页 > 解决方案 > 如何从给定时间启动 laravel 的调度程序?

问题描述

我需要在我从 laravel 中的数据库读取的另外 2 天后运行某些命令。我查看了 laravel 的调度程序文档,但找不到与我的问题相关的任何内容。

如何设置相对于另一个时间的调度程序?我想从数据库中读取时间/日期并根据这个时间安排一个命令。此外,它不是重复的。它只会运行一次。

标签: phplaravellaravel-5.7

解决方案


我认为你能做的最好的事情就是设置一个排队的工作。当您需要调度它时(无论它是否在计划任务中,都没有关系),您只需延迟调度它。文档的队列部分对此进行了很好的解释,就在这里:https ://laravel.com/docs/5.7/queues#delayed-dispatching

在您的情况下,您可以使用此 Carbon 实例作为延迟调度作业:now()->addDays(2)。两天后,作业将被执行:)


推荐阅读