2017-04-13 54 views
0

我有一个建立在'mysite.com'上的应用程序。然后在一段时间后创建一个单独的管理面板并托管在admin.mysite.com上使用相同的数据库和通知的两个不同的Laravel应用程序

这两个应用程序都使用相同的数据库,但使用不同的型号和代码。这两个应用程序都必须生成电子邮件,通知并使用ShouldQueue界面在后台运行它。

问题是,如果我在任何应用程序运行php artisan queue:work,它,因为它发现的通知,一旦出现故障,从其他应用程序给错误类生成的电子邮件未找到,这是正确的,因为如果网站应用工人处理来自所产生的任何通知管理员应用程序或其他方式。

我认为通过分隔两个队列,可能会有一种方法,但无法获得此方法的确切起点。

任何帮助?

感谢,

+0

您可以使用[Laravel子域路由](https://laravel.com/docs/5.4/routing#route-group-sub-domain-routing),而不是创建两个不同的应用程序在同一数据库上工作... –

+0

@AkshayKhale这两个项目都是由不同的团队完成的,我从这里接过。否则,我会考虑为管理员创建一个中间件/后卫并在其中保护它。因此,甚至不需要2个不同的用户表(用户为网站用户,admin_users为管理员面板)。 – devilzk83

回答

0

你可以通过捕获所有ClassNotFound的例外加强在这两个应用程序的队列代码,并推“工作负载”回到队列的末尾。这样,两个队列只能处理自己的“工作量”。

+0

谢谢,但我认为有一种方法可以通过名称来管理队列,而无需对队列处理代码进行任何修改。 – devilzk83

相关问题