2017-04-13 11 views
0

私は 'mysite.com'と言うアプリケーションを作成しました。その後、別の管理パネルが作成され、admin.mysite.comでホストされました。同じデータベースと通知を使用する2つの異なるLaravelアプリケーション

どちらのアプリも同じデータベースを使用していますが、モデルとコードは異なります。どちらのアプリもメールや通知を生成し、ShouldQueueインターフェイスを使ってバックグラウンドで実行する必要があります。

問題は、私はどちらかのアプリでphp artisan queue:workを実行する場合、それは、通知を見つけると、それは、すぐに失敗したということである、電子メールは、他のアプリがエラーにクラスを与えることから生成されたサイトのアプリの労働者から生成されたすべての通知を処理するかのように正確であるを、見つかりません。管理者アプリまたは他の方法。

私は両方のキューを分けることによって、方法があるかもしれないが、このアプローチのための正確な開始点を得ることはできないと思います。

助けが必要ですか?

おかげで、

+0

同じデータベースで2つの異なるアプリケーションを作成する代わりに、[Laravel Subdomain Routing](https://laravel.com/docs/5.4/routing#route-group-sub-domain-routing)を使用している可能性があります。 –

+0

@AkshayKhale両方のプロジェクトは別のチームによって行われ、ここから取り上げました。さもなければ、私は管理者用のミドルウェア/ガードの作成を検討し、それを使って保護しました。だから2つの異なるユーザーテーブル(サイトユーザーのユーザー、管理者パネルのadmin_users)を持つ必要はありません。 – devilzk83

答えて

0

あなたはすべてのにClassNotFound例外をキャッチすることにより、両方のアプリであなたのキューコードを強化し、バックキューの最後に「作業負荷」をプッシュすることができます。このようにして、両方のキューは自分自身の「作業負荷」だけを処理します。

+0

ありがとうございますが、私は、キューの処理コードに変更を加えずに名前でキューを管理する方法があると思います。 – devilzk83

関連する問題