現在、laravelのタスクスケジュールの練習をしています。
この記事を参考にしています。
ターミナル上で、php artisan testcron
はきちんと実行されます。
問題
cronが動いておらずログが更新されない。
cron
1* * * * * cd /Users/ke/Desktop/laravelAuth/sampleproject/ && php artisan schedule:run >> /dev/null 2>&1
検証したこと
cronがまず動くかどうか
cronに* * * * * echo 'hogehoge' >> ~/hoge.txt
と設定して検証しました。
こちらはうまく実行され、ログが更新されました。
cronに記述しているプログラムは動くか
ターミナル上で、
$ cd /Users/ke/Desktop/laravelAuth/sampleproject/ && php artisan schedule:run >> /dev/null 2>&1
と叩くとうまく実行され、ログが更新されました。
コード
Kernel
1<?php 2 3namespace App\Console; 4 5use Illuminate\Console\Scheduling\Schedule; 6use Illuminate\Foundation\Console\Kernel as ConsoleKernel; 7 8class Kernel extends ConsoleKernel 9{ 10 /** 11 * The Artisan commands provided by your application. 12 * 13 * @var array 14 */ 15 protected $commands = [ 16 Commands\WriteLog::Class, 17 ]; 18 19 /** 20 * Define the application's command schedule. 21 * 22 * @param \Illuminate\Console\Scheduling\Schedule $schedule 23 * @return void 24 */ 25 protected function schedule(Schedule $schedule) 26 { 27 // $schedule->command('inspire') 28 // ->hourly(); 29 $schedule->command('testcron') 30 ->everyMinute(); 31 } 32 33 /** 34 * Register the commands for the application. 35 * 36 * @return void 37 */ 38 protected function commands() 39 { 40 $this->load(__DIR__.'/Commands'); 41 42 require base_path('routes/console.php'); 43 } 44}
WliteLog
1<?php 2 3namespace App\Console\Commands; 4 5use Illuminate\Console\Command; 6 7class WriteLog extends Command 8{ 9 /** 10 * The name and signature of the console command. 11 * 12 * @var string 13 */ 14 protected $signature = 'testcron'; 15 16 /** 17 * The console command description. 18 * 19 * @var string 20 */ 21 protected $description = 'write info messages in log file'; 22 23 /** 24 * Create a new command instance. 25 * 26 * @return void 27 */ 28 public function __construct() 29 { 30 parent::__construct(); 31 } 32 33 /** 34 * Execute the console command. 35 * 36 * @return mixed 37 */ 38 public function handle() 39 { 40 logger()->info('This is WriteLog Command.'); 41 } 42}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/28 05:51 編集
2021/03/28 06:13
2021/03/28 07:01 編集
2021/03/28 08:36
2021/03/28 11:15 編集