問題タブ [laravel-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
123 参照

php - Laravel Scheduler の使用時にビューがファイルにエクスポートされない

いくつかのデータを入力して「rendered_view.php」としてエクスポートする必要があるphpファイルテンプレートがあります。毎日自動的に行う必要があります。だから私はLaravel Schedulerを使おうとしています。

ので、私は持っています:

「view_to_render.blade.php」を表示

コントローラー「MiscController.php」

ルート

コンソール/Kernel.php

シナリオ 1: 127.0.0.1:8000/testRenderViewに移動すると、機能しており、ファイル render_view.php が期待されるコンテンツと共に public フォルダーに保存されます。

シナリオ 2:スケジューラによって (13:00 に) 実行されると、エラーが返されます。

local.ERROR: Illuminate\View\Engines\PhpEngine::main(): 必要な 'includes/php_file.php' を開くのに失敗しました (include_path='.:') {"exception":"[object] (Symfony\Component\Debug \Exception\FatalErrorException(コード: 64): Illuminate\View\Engines\PhpEngine::main(): 必要な 'includes/php_file.php' (include_path='.:') を開くことができませんでした

スケジューラから実行されると、Laravel はビューを実際のビューとしてレンダリングしようとするようです。artisan コマンドも作成してみましたが、動作は同じです。コンソールでコマンドを実行すると正常に動作しますが、スケジューラからコマンドを呼び出すと動作しません。なぜそれが起こっているのですか?

0 投票する
0 に答える
90 参照

laravel - Laravel のスケジュールされたタスクが真夜中に実行を停止する

2 つの同一の Laravel 環境があり、同じ Laravel アプリのビルドでもまったく同じ構成を実行しています。

バックエンドの Laravel ワーカー アプリには 2 つのインスタンスがあるためonOneServer()、各タスクに使用します。ワーカーは Horizo​​n キューも実行しています。

UTC の数日前の真夜中に、プロダクション ワーカーはいくつかのタスクの実行を停止しましたが、開発ワーカーは停止しませんでした。翌日の真夜中にまた始まり、2日後の真夜中に止まりました。

Horizo​​n の使用 (本番環境は開発環境よりもはるかに多い) は、タスクを 1 つのワーカーにロックすることに影響を与え、開始さえできなくする可能性がありますか?

0 投票する
1 に答える
1979 参照

laravel - Laravel:新しいアイテムがdbテーブルに追加されたかどうかを確認し、ユーザーにメールを送信するジョブをスケジュールします

Laravel アプリケーションのテーブルに新しい行が追加されたときにメールをトリガーしたいと考えています。ただし、並べ替えのバッファを追加したいので、5 行が立て続けに追加されると、1 つの電子メールのみが送信されます。

私が選択した方法は、15 分ごとにチェックをスケジュールし、新しい行が追加されているかどうかを確認することです。ある場合は、メールをキューに入れます。

現在、スケジュールでエラーが発生しています。以下のコードを実行します。

スケジュールをセットアップするKernel.phpには、次のようなものがあります。

App\Jobs\ProcessActivity.phpにあるジョブをトリガーするために使用します。

JobItems と Project モデルの間の関係も示す完全なコードを上記に投稿しました。コードでコメントしたので、詳しくは説明しません。

問題

JobItem テーブルに新しい行を追加すると、ジョブがスケジュールされて処理されていることがわかります (Laravel Telescope を使用してこれを調べます)。

ただし、ログを見ると、ジョブごとに次の 2 つのログ メッセージが表示されることもわかります。

最初: ' Fail '、次に ' Activity Job Run '

メールが送信されず、これが失敗した理由を特定する方法がわかりません。

そのため、onFailure がトリガーされているようで、私の ProcessActivity に問題があります。

どこが間違っているのか、エラーを特定する方法についての手がかりをいただければ幸いです。