2016-05-17 8 views
3

私はLaravel Task Schedulingを使用しています。私は、カスタムcommandを定義し、同様に分ごとに実行するように設定します。Laravelタスクスケジューリングは毎分実行するように設定されていますが、一度だけ実行されます

$schedule->command('dailyk')->everyMinute(); 

それから私は、タスクを実行するには、次のコマンドを使用:

php /var/www/stockhit/artisan schedule:run 1>> /dev/null 2>&1 

を私は私のカスタムコマンドをし続けていることを確認するためにログを使用しました走るただし、1分ごとに実行されるわけではありません。代わりに、それはちょうど一回走った。

1分ではなく毎分実行するにはどうすればよいですか?

答えて

2

Task Scheduling参照してください:ここで

はあなたのサーバーに追加する必要がある唯一のcronエントリです:

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

このcronは毎分Laravelコマンドスケジューラを呼び出します。次に、Laravelはスケジュールされたタスクを評価し、予定されているタスクを実行します。

Laravelのタスクスケジューラはメモリに残りません。毎分実行する必要があります。その後、その分に実行する必要のあるタスクを確認して実行します。 PHPを使用してタスクスケジューラを実行すると、1回だけ実行されます。毎分実行するにはcronが必要です。

2

cronジョブを追加する必要があります。 Ubuntuで

* * * * * php /var/www/stockhit/artisan schedule:run 1>> /dev/null 2>&1 
+0

こんにちはuser3563206を追加し、あなたのcronジョブファイルを開くには、コマンド

crontab -e 

を使用します。私はそれを開いて、THX -eファイルのcrontabにsecound行を手動で追加することによって動作しました – alextre

関連する問題