我尽量每分钟给gmail发一封邮件。
My crontab: From here
* * * * * /usr/local/bin/php path/artisan scheduled:run >> /dev/null 2>&1
然后我在/App/Console/Kernel.php中设置函数Schedule:
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')
->hourly();
$schedule->call(function () {
$email = "My_Gmail_Receive";
$msg = 'example_view';
$data = [];
Mail::send($msg, $data, function($message) use($email)
{
$message->from('My_Gmail_Send', 'Hello');
$message->to($email)->subject('Please checkout!');
});
})->everyMinute();
}
最后,我运行:$ php artisan schedule:run
则"My_Gmail_Receive"接收相应的消息。但它不是自动工作的everyMinute()。(当我运行$ php artisan schedule:run
时,它只工作1次)
我怎么了?
您的crontab有一个拼写错误:它是schedule:run
,而不是scheduled:run
。我还假设path/artisan
实际上不在crontab中,而是在通往artisan的实际路径中。:)