Laravel:如何作为特定用户运行cron作业?

Laravel:如何作为特定用户运行cron作业?,laravel,cron,laravel-jobs,Laravel,Cron,Laravel Jobs,我们的系统有一些预定的作业,其中一个作业应该作为用户运行以获得授权。最好的方法是什么 App\Console\Kernel 附表有这些 。。。。 $schedule->job(新建EveryMinuteJob)->everyMinute(); $schedule->job(新建EveryFiveMinuteJob)->everyFiveMinutes(); .... EveryMinuteJob正在多个位置处理,这些位置仅授权给管理员角色用户。因此,在EveryMinuteJob中,使用Aut

我们的系统有一些预定的作业,其中一个作业应该作为用户运行以获得授权。最好的方法是什么

App\Console\Kernel
附表有这些

。。。。
$schedule->job(新建EveryMinuteJob)->everyMinute();
$schedule->job(新建EveryFiveMinuteJob)->everyFiveMinutes();
....
EveryMinuteJob正在多个位置处理,这些位置仅授权给管理员角色用户。因此,在EveryMinuteJob中,使用Auth::login()和::logout()以管理员身份运行作业,如下所示。这是唯一的方法还是其他最佳实践

class EveryMinuteJob实现的ShouldQueue{
公共函数句柄()
{
..........
Auth::login(User::where('super_admin',true)->first();
..........
Auth::logout();
..........
}
}
您可以这样使用

$schedule->job(new EveryMinuteJob)->everyMinute()->user($user);