php - 如何从给定时间启动 laravel 的调度程序?
问题描述
我需要在我从 laravel 中的数据库读取的另外 2 天后运行某些命令。我查看了 laravel 的调度程序文档,但找不到与我的问题相关的任何内容。
如何设置相对于另一个时间的调度程序?我想从数据库中读取时间/日期并根据这个时间安排一个命令。此外,它不是重复的。它只会运行一次。
解决方案
我认为你能做的最好的事情就是设置一个排队的工作。当您需要调度它时(无论它是否在计划任务中,都没有关系),您只需延迟调度它。文档的队列部分对此进行了很好的解释,就在这里:https ://laravel.com/docs/5.7/queues#delayed-dispatching
在您的情况下,您可以使用此 Carbon 实例作为延迟调度作业:now()->addDays(2)
。两天后,作业将被执行:)
推荐阅读
- reactive-forms - 角度反应形式的自定义验证器永远不会触发
- python - 为什么即使出现错误,我的 discord.py 机器人中的这些 except 块也不运行?
- node.js - 发布到 npmjs.com 时分发带有 nodejs 模块的二进制可执行文件
- r - R:如何在 dplyr 工作流程中使用与列名冲突的全局变量?
- java - java中的volatile是否允许删除实例?
- python - 无法理解 python 中的全局变量——一个记录器
- javascript - 带方向的 Mapbox GL JS。单击时禁用 setOrigin 和 setDestination
- html - 读取 Delphi 字符串中的 HTML 特殊字符
- python-asyncio - Python Asyncio:我等待太多了吗?
- javascript - 如果输入文本长度条件,则更改文本颜色