Laravel 重复任务

Laravel Repeating Task

我需要一个任务:

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

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

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

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

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

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

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