<?php namespace Illuminate\Console\Scheduling; use Illuminate\Console\Command; // namespace is very good,like a dir or a folder class ScheduleRunCommand extends Command { /** * The console command name. * * @var string */ protected $name = ‘schedule:run‘;// ScheduleRunCommand // The console command name. /** * The console command description. * * @var string */ protected $description = ‘Run the scheduled commands‘; // The console command description // a description about the command in console /** * The schedule instance. * * @var \Illuminate\Console\Scheduling\Schedule */ protected $schedule;// a string to store the instance of the Schedule /** * Create a new command instance. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ public function __construct(Schedule $schedule) { $this->schedule = $schedule; parent::__construct(); }// Create a new command instance. // a big __set // set the Schedule to the variable /** * Execute the console command. * * @return void */ public function fire() { $events = $this->schedule->dueEvents($this->laravel);// get the events $eventsRan = 0;// maybe the run times foreach ($events as $event) {// run every events if (! $event->filtersPass($this->laravel)) { continue; }// check the events $this->line(‘<info>Running scheduled command:</info> ‘.$event->getSummaryForDisplay()); // write a line get the wrong message $event->run($this->laravel); ++$eventsRan;// this the times } if (count($events) === 0 || $eventsRan === 0) { $this->info(‘No scheduled commands are ready to run.‘); }// info always be used like a log }//Execute the command }
时间: 2024-10-10 14:49:40