問題タブ [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.

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

laravel - Laravel: ジョブが失敗しました - SQLSTATE[42S02]: ベース テーブルまたはビューが見つかりません

Laravel v5.7 でマルチ テナントを開発していますが、モデルに「接続」プロパティが定義されているため、キュー メールの送信に成功しています。

しかし、たとえば Jobs クラスを使用して電子メールを送信しようとすると、同じことが失敗し、モデルのテーブルが存在しないことが通知されます。

テーブル 'failed_jobs' に記録されたエラーから、プロパティ 'connection' が定義されていても、ジョブはプロパティの指定されたデータベースではなく、メイン データベースに接続しようとしているように見えます。

同じことがモデルで通知されるため、使用するデータベースをジョブで指定する方法はありますか?

データベース.php

]、

サンプルモデル

失敗したジョブ

0 投票する
2 に答える
909 参照

php - Laravel ジョブ (データベース) はハンドルを実行しません

laravel ジョブに問題があります。データベースで動作するようにlaravelジョブを構成しましたが、動作しています。

ジョブを実行すると、データベースにエントリが作成され、コンストラクターが適切に実行されます。

ただし、ハンドル関数は実行されず、ジョブはジョブ テーブルに残ります。

誰かがすでにこの問題を抱えていましたか?

(私はLaravel 5.7を使用しています)。

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 に問題があります。

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