我有一个Laravel应用程序,它在后台运行一些Jobs,但是我有该应用程序的多个实例。
这些工作之一将电子邮件发送到数据库中的某些记录,但是由于存在多个实例,它正在发送多封电子邮件,现在我正在解决在执行时间内设置偏移量并添加状态字段来设置记录的问题被处理为忙。
我想知道当系统有多个实例时,是否有人可以使用另一种方法来解决此类问题。
提前致谢。如果您想了解更多信息,请告诉我。
在我发布此邮件时,确实有一个处理此问题的选项。我使用数据库中的记录来锁定其他实例正在处理的作业的执行。
可以使用集中式缓存服务来提高其性能,该服务将密钥存储在其中,该密钥具有标识作业的值并在作业执行开始时进行检查。
此解决方案的要求是您将需要像redis或memcache这样的集中式缓存服务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句