0

Laravel Task Scheduling 有类似的选项,everyMinute()它将每分钟运行一个命令。我想知道它实际开始执行的时间是什么时候。是在我运行服务器时还是每分钟的任何特定秒?
我正在尝试根据时差运行一个函数。这是一个伪代码

Run myCustomFunction() if diffInMin(now, customTime) <= 1

我以为它会运行 1 次,但每次运行两次。

4

1 回答 1

1

正如@apokryfos 提到的,调度程序通常根据服务器的当前时间在零秒标记附近每分钟运行一次。

假设customTime是一个固定的 DateTime,是什么让您认为您编写的代码只会运行一次?

  • now() === customTime将为diffInMin()零时,条件diffInMin(now, customTime) <= 1将评估为真。
  • 下一分钟,diffInMin()将是 1,因此条件diffInMin(now, customTime) <= 1仍将评估为真。
于 2021-04-29T06:43:44.447 回答