1

OS: Windows 8.1

Laravel バージョン: 5.3.15

こんにちは、

Laravel のスケジューラーを自分のマシンで適切に実行し、実際に動作していることを示す何らかの出力を確認できる方法でSTAY RUNNINGを取得するのに少し問題があります。実行するたびにphp artisan schedule:run、リストされているコマンドを 1 回呼び出してから終了します。繰り返しません。以下の試行例:

コード:

ここに画像の説明を入力

スケジューラを実行しようとしたときの結果:

ここに画像の説明を入力

私が試したこと:

以下のリンクから提案された複数の修正を試しましたが、実際にはスタックオーバーフロー全体で参照されているものもあります。Kryptonit3 によって以下のリンクで提案されているように、バッチ ファイルの追加、システム veriables などでの php のパスの設定などを含みます。

https://laracasts.com/discuss/channels/general-discussion/running-schedulerun-on-windows

ただし、何も機能しません。「Windows タスク スケジューラ」ツールでも、一度だけ実行され、CLI でそれ以降の処理を終了してから、ウィンドウを閉じます。このスケジューラがバックグラウンドで無期限に実行されているという実際の兆候はありません (キューのないバックグラウンド ジョブのようなものです)。

質問:

1 - 何も表示されない場合 ("I am Scheduled" がエコーされます)、これが実際に機能しているかどうかはどうすればわかりますか?

2 - このコマンドを実行しようとすると、一度正常に完了した後に終了するのはなぜですか。

3 - 私の Laravel バージョンphp artisan schedule:runでは、CLI または Windows タスク スケジューラで使用しようとすると、スケジューラが永続的に実行されないことがありますか?

4 - ここで主に達成しようとしているのは、システムが 1 分ごとに 1 つの DB テーブルのフィールドをスキャンすることです。どうすればこれを達成できますか?

5 - どなたかこの件について説明をお願いできますか? または、最初の実行後に終了することなく、このことを実際に無期限に実行できるように、正しい方向に向けてください。

注:私は Laravel Forge やその他の外部サービスを非常に単純なことに使用したくありません。それはやり過ぎで、私は不必要だと思います。

4

1 に答える 1