小编cra*_*bly的帖子

使用队列时的 Laravel 邮件回调

有没有办法将回调函数传递给 Laravel 的邮件程序?

我正在使用Mail带有可邮寄类的外观,该类正在发送附件。发送电子邮件后,我想删除附加的文件表单存储。

电子邮件作业正在排队

Mail::to($user)->send(new MyMailable($file));
Run Code Online (Sandbox Code Playgroud)

我无法使用 Mailer 触发事件(https://laravel.com/docs/5.4/mail#events)。原因之一,因为该事件发生在发送电子邮件之前,这意味着我当时无法删除该文件,或者该邮件将没有附件。其次,该应用程序有多个电子邮件作业,有些必须删除附件,有些则不需要。事件数据swiftmailer只有实例,没有关于作业本身的额外信息(例如可邮寄的数据)。

swiftmailer laravel laravel-5.4

6
推荐指数
1
解决办法
1115
查看次数

微服务客户端循环依赖

在微服务架构中,使用客户端包在服务之间进行通信,我们遇到了两个客户端包相互依赖的问题,从而产生了循环依赖。

我们正试图为此找出最佳解决方案,我想知道是否有人能够帮助我们或为我们指明正确的方向。

这是场景:

  • 两项服务,汽车和保险
  • 两个客户端包,CarClient 和 InsuranceClient。

每当任何服务需要与 Car 服务通信时,它都应该使用 CarClient 包来完成。每当任何服务需要与 Insurance 服务通信时,它都应该使用 InsuranceClient 包。

CarClient 包有一个数据传输对象 (DTO) Car,其中一个属性是insurance. 此属性的类型是 InsuranceClient 包中可用的 DTO CarInsurance

问题是当CarInsuranceDTO 需要访问 CarClient 包中可用的枚举时,CarTypeEnum. 现在我们有两个相互依赖的包。

微服务客户端循环依赖

我能想到的可能解决方案:

  1. 这是由于糟糕的设计。重新设计服务和包以防止这种循环依赖。
  2. 将枚举移动到单独的包中,因此,两个客户端都可以依赖这些包,但客户端不会相互依赖。

任何帮助表示赞赏。

php node.js microservices

5
推荐指数
1
解决办法
499
查看次数

标签 统计

laravel ×1

laravel-5.4 ×1

microservices ×1

node.js ×1

php ×1

swiftmailer ×1