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 Extendido

Introducción

Laravel SQS Extendido es un controlador de colas de Laravel que fue diseñado para sortear los límites de tamaño de carga útil de 256KB de AWS SQS. Este controlador de colas serializará automáticamente cargas útiles grandes a un disco (típicamente S3) y luego las deserializará en tiempo de ejecución. Este paquete se inspiró en https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html.

Migración desde el Cliente Simple SQS Extendido

  1. Elimina el paquete simplesoftwareio/simple-sqs-extended-client de tu proyecto.
  2. Instala el paquete defectivecode/laravel-sqs-extended.

La antigua configuración es compatible con la nueva paquete. El único cambio es el nombre del paquete.

Instalación

  1. Primero, crea un bucket que contendrá todas tus cargas útiles grandes de SQS.

Te recomendamos encarecidamente que uses un bucket privado al almacenar cargas útiles de SQS. Las cargas útiles pueden contener información sensible y nunca deben ser compartidas públicamente.

  1. Ejecuta composer require defectivecode/laravel-sqs-extended para instalar el controlador de colas.

  2. Luego, añade la siguiente configuración de cola predeterminada a tu archivo queue.php.

Los usuarios de Laravel Vapor deben establecer el nombre de conexión en sqs. La conexión sqs se busca dentro de Vapor Core y esta biblioteca no funcionará como se esperaba si usas un nombre de conexión diferente.

/*
|--------------------------------------------------------------------------
| Configuración de Cola en Disco SQS
|--------------------------------------------------------------------------
|
| Aquí puedes configurar el controlador de cola en disco SQS. Comparte todas las mismas
| opciones de configuración del controlador de cola SQS integrado en Laravel. La única opción añadida
| es `disk_options` que se explica a continuación.
|
| always_store: Determina si todas las cargas útiles deben ser almacenadas en un disco independientemente de si superan el límite de 256KB de SQS.
| cleanup: Determina si los archivos de carga útil deben ser eliminados del disco una vez que se procese el trabajo. Dejar los
| archivos puede ser útil para reproducir los trabajos de la cola más tarde por razones de depuración.
| disk: El disco para guardar las cargas útiles de SQS. Este disco debe ser configurado en tu archivo de configuración filesystems.php de Laravel.
| prefix El prefijo (carpeta) para almacenar las cargas útiles. Esto es útil si compartes un disco con otras colas SQS.
| Usar un prefijo permite que el comando queue:clear destruya los archivos por separado de otras colas respaldadas por discos sqs
| que comparten el mismo disco.
|
*/
'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/tu-id-de-cuenta'),
'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' => 'prefijo-del-bucket',
],
],
  1. Inicia tus colas y disfruta sin preocuparte por el límite de 256KB de SQS 🥳

Directrices de Soporte

¡Gracias por elegir nuestro paquete de código abierto! Tómate un momento para revisar estas directrices de soporte. Te ayudarán a sacar el máximo provecho de nuestro proyecto.

Soporte Impulsado por la Comunidad

Nuestro proyecto de código abierto es impulsado por nuestra increíble comunidad. Si tienes preguntas o necesitas asistencia, StackOverflow y otros recursos en línea son tus mejores opciones.

Errores y Priorización de Funciones

La realidad de gestionar un proyecto de código abierto significa que no podemos abordar cada error reportado o solicitud de función de inmediato. Priorizamos los problemas en el siguiente orden:

1. Errores que Afectan Nuestros Productos de Pago

Los errores que impactan nuestros productos de pago siempre serán nuestra máxima prioridad. En algunos casos, solo abordaremos los errores que nos afectan directamente.

2. Solicitudes de Extracción de la Comunidad

Si has identificado un error y tienes una solución, por favor envía una solicitud de extracción. Después de los problemas que afectan a nuestros productos, damos la siguiente mayor prioridad a estas soluciones impulsadas por la comunidad. Una vez revisada y aprobada, integraremos tu solución y daremos crédito a tu contribución.

3. Apoyo Financiero

Para problemas fuera de las categorías mencionadas, puedes optar por financiar su resolución. Cada problema abierto está vinculado a un formulario de pedido donde puedes contribuir financieramente. Priorizamos estos problemas según la cantidad de financiamiento proporcionada.

Contribuciones de la Comunidad

El código abierto prospera cuando su comunidad está activa. Incluso si no estás solucionando errores, considera contribuir a través de mejoras de código, actualizaciones de documentación, tutoriales o asistiendo a otros en los canales de la comunidad. Animamos encarecidamente a todos, como comunidad, a ayudar a apoyar el trabajo de código abierto.

Para reiterar, DefectiveCode priorizará los errores en función de cómo impactan a nuestros productos de pago, las solicitudes de extracción de la comunidad y el apoyo financiero recibido para los problemas.

Licencia - Licencia MIT

Copyright © Defective Code, LLC. Todos los derechos reservados

Por la presente se otorga permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricciones, incluyendo sin limitación los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y a permitir a las personas a las que se les proporciona el Software hacerlo, sujeto a las siguientes condiciones:

La mención de copyright anterior y esta nota de permiso deberán incluirse en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITÁNDOSE A LAS GARANTÍAS DE COMERCIALIZABILIDAD, ADECUACIÓN PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑO O OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, O EN CONEXIÓN CON EL SOFTWARE O EL USO O OTRAS NEGOCIACIONES EN EL SOFTWARE.