2017-06-30 12 views
0

月の最後の日に1回実行するコマンドをセットアップしました。これは私がそれをした方法です:Laravelタスクスケジューリングが何もない理由で毎分実行されています

$schedule->command('report:send')->when(function() { 
    return Carbon::now()->endOfMonth()->isToday(); 
}); 

今日は素晴らしいですので、今日の最後の日です。しかし、このコマンドは毎分実行されています。毎分受信トレイにメールが届きます:/

テスト中に->everyMinute();を使用していて設定が更新されている可能性がありますか?

+0

のためにこの仕事はあなたが試してみましたwheを実行するだけのように、コールバックをさらに制限するn時間は11:22ですか? – sisve

+0

@sisveいいえ、私はどうしたらいいですか? –

答えて

3

コマンドは、cronが起動するたびにテストされます。私はあなたのcronが毎分実行されると信じています、そして、この日のために真の復帰命令のために、それは毎分発動されます。あなたは何ができるか

は次のとおりです。

$schedule->command('report:send')->daily()->when(function() { 
    return Carbon::now()->endOfMonth()->isToday(); 
}); 

または

$schedule->command('report:send')->dailyAt('13:00')->when(function() { 
    return Carbon::now()->endOfMonth()->isToday(); 
}); 
+0

私は現地時間の08:50です。私は ' - > dailyAt('08:48 ')'に設定しましたが、何も起こりません。 –

+0

おそらく私のサーバ時間に関するいくつかの問題私は自分のサーバ時間をチェックし、 –

1

私はあなたがこれを試すことができると思います。

$schedule->command('report:send')->monthly()->when(function() { 
    return Carbon::now()->endOfMonth()->isToday(); 
}); 

希望あなた

関連する問題