php - 延迟运行 Laravel 计划
问题描述
我有很多 Laravel 作业,每分钟都运行一次,
但我不希望所有这些都同时运行,
是否可以让它们中的一些运行每分钟但延迟 1-2 秒?
像这样的东西:
Job 1 > Every Minute at 00 seconds
Job 2 > Every minute at 05 seconds
Job 3 > Every minute at 10 seconds
对于单独的 cron 作业,我这样做:* * * * * ( sleep 30 ; /path/to/executable)
但我不知道如何使用 Laravel Schedules
解决方案
正如我从您的问题中看到的那样,您可能需要注意运行工作,以防返回以前的工作事件或类似的事情。
如您所见,laravel 作业在服务器 cron 作业中的可访问时间与 * * * * * 表示所有天每分钟的时间相同。
所以我通过制作自定义命令来管理它:
php artisan make:command
在我的自定义命令中,我检查了是否发生了什么事,然后我的工作就会运行......
您还可以在另一个作业中创建一个作业,这取决于父作业,它会执行与否。
推荐阅读
- sql - FROM 子句中的 SQL 错误:在视图中使用查询代码时靠近 ')'
- java - 导入 org.springframework.web 时出现问题:无法解析符号“web”
- machine-learning - DQN 如何在奖励始终为 -1 的环境中工作
- c++ - What configurations do I need in CMake so that I can build the project?
- python - 如何在线性回归/套索中强制系数为非负?
- r - 如何为 shapiro.test 创建一个循环
- laravel - Laravel 产品变体的深度关系
- visual-studio - VS 2017 如何确定来自 Paket 的 .NET Standard 依赖项?
- utf-8 - UUID 编码为 ascii 而不是 utf-8
- windows - 功能区将仅显示最小化