Laravel 5.6 - 如何仅在生产环境中执行预定的内核命令?

Laravel 5.6 - How to execute scheduled kernel command only on production env?

我们只想在 production 环境中对 运行 使用以下命令,而不是 staging。我们尝试使用 --env:production flag 但没有用:

class Kernel extends ConsoleKernel {
 ...
   protected function schedule(Schedule $schedule){
     $schedule->command('file:generate --env=production')
              ->daily()
              ->onOneServer();
   }
 ...
}

在laravel 5.8中,为了将任务限制在某个环境中,有一个可链接的environments,如下所示:

$schedule->command('file:generate')
         ->daily()
         ->onOneServer()
         ->environments($env);

知道我们如何在 production env 上 运行 5.6 中的命令吗?

可以在 运行 命令之前检查环境

if (App::environment('production')) {
   $schedule->command('file:generate')
         ->daily();
   //run your commands here

}