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 | 中文

# 翻译警告

本文档已自动翻译。如果有翻译错误,请在项目中打开一个 拉取请求,并将翻译后的文件添加到 docs/{ISO 639-1 Code}.md

Laravel SQS 扩展

介绍

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

从 Simple 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 用户必须将连接名称设置为 sqs。Vapor Core 中会查找 sqs 连接,如果你使用不同的连接名称,这个库将无法按预期工作。

/*
|--------------------------------------------------------------------------
| 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。保留所有权利

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人员使用本软件的权限,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向其提供本软件的人员在符合以下条件的情况下这样做:

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

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

Laravel SQS Extended - Defective Code