首页 > 解决方案 > Laravel 重复任务

问题描述

我需要一个任务:

我将如何实现这样的目标?我在考虑事件、队列和任务的组合,但我不确定应该如何使用它们来创建我的任务。

标签: phplaravelpusher

解决方案


听起来您可以使用调度程序来控制任务的频率

https://laravel.com/docs/7.x/scheduling

然后,您可以使用真值约束来检查它是否应该像这样运行:

$schedule->command('your:task')->when(function () {
    // Do a config check / DB check / Cache check here
    return true;
});

我建议在缓存层之类的东西中设置一个值,而不是访问文件或使用关系数据库。这是一项每秒都会运行的任务,因此您不想要任何可能过于占用资源的任务!

然后,您可以有一个命令来设置您正在检查的缓存中的值。此命令只能由您授予权限的用户运行。


推荐阅读