运行 Laravel 多个实例中的作业
Run Laravel Jobs in multiple intances
我有一个 Laravel 应用程序,它是 运行 一些后台作业,但我有多个应用程序实例。
其中一个作业将电子邮件发送到我数据库中的某些记录,但由于多个实例,它发送了多封电子邮件,现在我正在解决在执行时间内设置偏移量并添加状态字段的问题将正在处理的记录设置为忙碌。
当系统有多个实例时,我想知道是否有人有另一种方法来解决此类问题。
提前致谢。
如果您想了解更多信息,请告诉我。
在我发布这篇文章时,有一个真正的选项可以处理这个问题。
我使用数据库中的记录来锁定正在由其他实例处理的作业的执行。
可以使用集中式缓存服务来提高性能,该缓存服务存储一个具有标识作业的值的键,并在作业执行开始时进行检查。
此解决方案的要求是您将需要像 redis 或 memcache 这样的集中式缓存服务。
我有一个 Laravel 应用程序,它是 运行 一些后台作业,但我有多个应用程序实例。
其中一个作业将电子邮件发送到我数据库中的某些记录,但由于多个实例,它发送了多封电子邮件,现在我正在解决在执行时间内设置偏移量并添加状态字段的问题将正在处理的记录设置为忙碌。
当系统有多个实例时,我想知道是否有人有另一种方法来解决此类问题。
提前致谢。 如果您想了解更多信息,请告诉我。
在我发布这篇文章时,有一个真正的选项可以处理这个问题。 我使用数据库中的记录来锁定正在由其他实例处理的作业的执行。
可以使用集中式缓存服务来提高性能,该缓存服务存储一个具有标识作业的值的键,并在作业执行开始时进行检查。
此解决方案的要求是您将需要像 redis 或 memcache 这样的集中式缓存服务。