問題タブ [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.
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 コマンドも作成してみましたが、動作は同じです。コンソールでコマンドを実行すると正常に動作しますが、スケジューラからコマンドを呼び出すと動作しません。なぜそれが起こっているのですか?
laravel - Laravel のスケジュールされたタスクが真夜中に実行を停止する
2 つの同一の Laravel 環境があり、同じ Laravel アプリのビルドでもまったく同じ構成を実行しています。
バックエンドの Laravel ワーカー アプリには 2 つのインスタンスがあるためonOneServer()
、各タスクに使用します。ワーカーは Horizon キューも実行しています。
UTC の数日前の真夜中に、プロダクション ワーカーはいくつかのタスクの実行を停止しましたが、開発ワーカーは停止しませんでした。翌日の真夜中にまた始まり、2日後の真夜中に止まりました。
Horizon の使用 (本番環境は開発環境よりもはるかに多い) は、タスクを 1 つのワーカーにロックすることに影響を与え、開始さえできなくする可能性がありますか?
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 に問題があります。
どこが間違っているのか、エラーを特定する方法についての手がかりをいただければ幸いです。