ankurk91/laravel-dedupe-queue

此包已被废弃,不再维护。没有建议替代包。

防止 Laravel php 框架中重复作业运行

1.0.0 2023-02-24 09:08 UTC

This package is auto-updated.

Last update: 2024-06-24 13:53:10 UTC


README

为 Laravel 去重队列

Packagist GitHub-tag License Downloads GH-Actions codecov

防止 Laravel php 框架中的重复作业。

警告 此包处于早期阶段,可能存在一些边缘情况。

为什么和怎么做?

Laravel 无法防止 AWS SQS Standard 队列中的重复作业。

此包利用分配给队列中每个作业的 UUID。如果相同的消息再次出现在 SQS 队列中,作业的 UUID 不会改变。

此包向所有作业、Mailables、通知和监听器注入全局中间件,通过检查 UUID 跟踪传入的作业并丢弃任何重复项。

安装

您可以通过 composer 安装此包

composer require "ankurk91/laravel-dedupe-queue"

服务提供程序将自动注册自己。

可选地,您可以通过以下方式发布配置文件

php artisan vendor:publish --provider="Ankurk91\DedupeQueue\DedupeQueueServiceProvider"

注意 建议使用 Redis、Memcached 或 DynamoDB 以获得更快的原子锁。

使用

安装并忘记它。

即使对于 sync 队列连接,您也可以保留此包启用。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

composer test

安全

如果您发现任何安全问题,请通过电子邮件 pro.ankurk1[at]gmail[dot]com 联系我们,而不是使用问题跟踪器。

许可

此包根据 MIT 许可证 许可。