問題タブ [laravel-jobs]
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.
laravel - Laravel: ジョブが失敗しました - SQLSTATE[42S02]: ベース テーブルまたはビューが見つかりません
Laravel v5.7 でマルチ テナントを開発していますが、モデルに「接続」プロパティが定義されているため、キュー メールの送信に成功しています。
しかし、たとえば Jobs クラスを使用して電子メールを送信しようとすると、同じことが失敗し、モデルのテーブルが存在しないことが通知されます。
テーブル 'failed_jobs' に記録されたエラーから、プロパティ 'connection' が定義されていても、ジョブはプロパティの指定されたデータベースではなく、メイン データベースに接続しようとしているように見えます。
同じことがモデルで通知されるため、使用するデータベースをジョブで指定する方法はありますか?
データベース.php
]、
サンプルモデル
失敗したジョブ
php - Laravel ジョブ (データベース) はハンドルを実行しません
laravel ジョブに問題があります。データベースで動作するようにlaravelジョブを構成しましたが、動作しています。
ジョブを実行すると、データベースにエントリが作成され、コンストラクターが適切に実行されます。
ただし、ハンドル関数は実行されず、ジョブはジョブ テーブルに残ります。
誰かがすでにこの問題を抱えていましたか?
(私はLaravel 5.7を使用しています)。
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 に問題があります。
どこが間違っているのか、エラーを特定する方法についての手がかりをいただければ幸いです。