Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

Laravel SQS Extended

介绍

Laravel SQS Extended 是一个 Laravel 队列驱动,旨在解决 AWS SQS 256KB 负载大小限制问题。此队列驱动会自动将大负载序列化到磁盘(通常是 S3),然后在运行时将其反序列化。该软件包的灵感来源于 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html

从简单的 SQS 扩展客户端迁移

  1. 从项目中移除 simplesoftwareio/simple-sqs-extended-client 软件包。
  2. 安装 defectivecode/laravel-sqs-extended 软件包。

旧的配置与新软件包向后兼容。唯一的变化是软件包名称。

安装

  1. 首先创建一个存储所有大型 SQS 负载的存储桶。

我们强烈建议您在存储 SQS 负载时使用 私有 存储桶。负载可能包含敏感信息,绝不能公开共享。

  1. 运行 composer require defectivecode/laravel-sqs-extended 以安装队列驱动。

  2. 然后,将以下默认队列设置添加到您的 queue.php 文件中。

Laravel Vapor 用户必须将连接名称设置为 sqssqs 连接是在 Vapor Core 中查找的,如果您使用不同的连接名称,该库将无法如预期工作。

/*
|--------------------------------------------------------------------------
| SQS 磁盘队列配置
|--------------------------------------------------------------------------
|
| 在这里,您可以配置 SQS 磁盘队列驱动。它共享与内置 Laravel SQS 队列驱动相同的所有
| 配置选项。唯一新增的选项是 `disk_options`,将在下面进行说明。
|
| always_store: 决定是否应将所有负载存储在磁盘上,无论它们是否超过 SQS 的 256KB 限制。
| cleanup: 决定是否在处理完作业后应该从磁盘中删除负载文件。保留文件可以用于
| 出于调试原因稍后重放队列作业。
| disk: 用于保存 SQS 负载的磁盘。此磁盘应在您的 Laravel filesystems.php 配置文件中进行配置。
| prefix 存储负载的前缀(文件夹)。如果您与其他 SQS 队列共享磁盘,这很有用。
| 使用前缀可以使 queue:clear 命令能够将文件与其他共享同一磁盘的 sqs-disk 支持的队列分开销毁。
|
*/
'sqs' => [
'driver' => 'sqs-disk',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'default'),
'suffix' => env('SQS_SUFFIX'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'after_commit' => false,
'disk_options' => [
'always_store' => false,
'cleanup' => false,
'disk' => env('SQS_DISK'),
'prefix' => 'bucket-prefix',
],
],
  1. 启动您的队列,尽情享受,无需担心 SQS 的 256KB 限制 🥳

支持指南

感谢您选择我们的开源包!请花一点时间查看这些支持指南。它们将帮助您充分利用我们的项目。

社区驱动支持

我们的开源项目得益于我们出色的社区。如果您有问题或需要帮助,StackOverflow 和其他在线资源是您最好的选择。

错误和功能优先级

管理一个开源项目的现实是我们不能立即解决每一个报告的错误或功能请求。我们按以下顺序优先处理问题:

1. 影响我们付费产品的错误

影响我们付费产品的错误将始终是我们的首要任务。在某些情况下,我们可能只会处理直接影响我们的错误。

2. 社区拉取请求

如果您发现了一个错误并且有解决方案,请提交拉取请求。在影响我们产品的问题之后,我们给这些社区驱动的修复分配下一个最高优先级。经过审查和批准后,我们将合并您的解决方案并给予贡献者信用。

3. 财务支持

对于不属于上述类别的问题,您可以选择为其解决提供资金支持。每个开放问题都与一个订单表相关联,您可以在上面提供财务支持。我们根据提供的资金金额优先处理这些问题。

社区贡献

开源的蓬勃发展依赖于社区的积极参与。即使您不是在修复错误,也可以通过代码改进、文档更新、教程或在社区频道帮助他人来贡献。我们非常鼓励大家作为一个社区共同支持开源工作。

重申一下,DefectiveCode 将根据错误对我们付费产品的影响、社区拉取请求以及收到的财务支持来优先处理问题.

许可 - MIT 许可

版权所有 © Defective Code, LLC。保留所有权利

特此免费授权任何获得此软件及相关文档文件(“软件”)副本的人,允许在软件中自由处理,包括不限于使用、复制、修改、合并、发布、分发、再授权和/或销售软件副本的权利,并允许被提供软件的人这样做,前提是满足以下条件:

上述版权声明和本许可声明应包括在软件的所有副本或重要部分中。

软件按“原样”提供,不提供任何种类的保证,明示或暗示,包括但不限于对适销性、特定用途适用性和不侵权的保证。在任何情况下,作者或版权持有者均不对因软件或软件的使用或其他交易而引起的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权或其他方面。