English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Laravel SQS Erweitert
Einführung
Laravel SQS Erweitert ist ein Laravel Queue-Treiber, der entwickelt wurde, um die 256KB Payload-Größenbeschränkungen von AWS SQS zu umgehen. Dieser Queue-Treiber serialisiert automatisch große Payloads auf einem Speicher (typischerweise S3) und deserialisiert sie dann zur Laufzeit. Dieses Paket wurde inspiriert von https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html.
Migration vom einfachen SQS erweiterten Client
- Entfernen Sie das Paket
simplesoftwareio/simple-sqs-extended-clientaus Ihrem Projekt. - Installieren Sie das Paket
defectivecode/laravel-sqs-extended.
Die alte Konfiguration ist rückwärtskompatibel mit dem neuen Paket. Die einzige Änderung ist der Name des Pakets.
Installation
- Erstellen Sie zunächst einen Bucket, der alle Ihre großen SQS Payloads speichern wird.
Wir empfehlen dringend, einen privaten Bucket zu verwenden, wenn Sie SQS Payloads speichern. Payloads können vertrauliche Informationen enthalten und sollten niemals öffentlich geteilt werden.
-
Führen Sie
composer require defectivecode/laravel-sqs-extendedaus, um den Queue-Treiber zu installieren. -
Fügen Sie dann die folgenden Standard-Queue-Einstellungen zu Ihrer
queue.php-Datei hinzu.
Laravel Vapor-Benutzer müssen den Verbindungsnamen auf
sqssetzen. DiesqsVerbindung wird innerhalb von Vapor Core gesucht und diese Bibliothek wird nicht wie erwartet funktionieren, wenn Sie einen anderen Verbindungsnamen verwenden.
/*|--------------------------------------------------------------------------| SQS Disk Queue-Konfiguration|--------------------------------------------------------------------------|| Hier können Sie den SQS Disk Queue-Treiber konfigurieren. Er teilt alle| Konfigurationsoptionen des integrierten Laravel SQS Queue-Treibers. Die einzige hinzugefügte| Option ist `disk_options`, die unten erläutert wird.|| always_store: Bestimmt, ob alle Payloads auf einem Speicher gespeichert werden sollen,| unabhängig davon, ob sie die 256KB-Grenze von SQS überschreiten.| cleanup: Bestimmt, ob die Payload-Dateien vom Speicher entfernt werden sollen,| sobald der Job verarbeitet ist. Das Zurücklassen der Dateien kann nützlich sein,| um die Queue-Jobs später aus Debugging-Gründen erneut abzuspielen.| disk: Der Speicher, in dem SQS Payloads gespeichert werden. Dieser Speicher sollte in Ihrer Laravel| filesystems.php Konfigurationsdatei konfiguriert werden.| prefix Der Präfix (Ordner), um die Payloads zu speichern. Dies ist nützlich, wenn Sie einen Speicher| mit anderen SQS-Warteschlangen teilen.| Die Verwendung eines Präfixes ermöglicht es dem Befehl queue:clear, die Dateien separat von| anderen SQS-Disk-unterstützten Warteschlangen, die denselben Speicher teilen, zu löschen.|*/'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', ],],
- Starten Sie Ihre Warteschlangen und profitieren Sie, ohne sich um die 256KB-Grenze von SQS sorgen zu müssen 🥳
Support Richtlinien
Danke, dass Sie sich für unser Open-Source-Paket entschieden haben! Bitte nehmen Sie sich einen Moment Zeit, um diese Unterstützungsrichtlinien durchzulesen. Sie helfen Ihnen, das Beste aus unserem Projekt herauszuholen.
Community-gesteuerte Unterstützung
Unser Open-Source-Projekt wird von unserer großartigen Community unterstützt. Wenn Sie Fragen haben oder Hilfe benötigen, sind StackOverflow und andere Online-Ressourcen Ihre besten Optionen.
Bugs und Priorisierung von Funktionen
Die Realität des Managements eines Open-Source-Projekts bedeutet, dass wir nicht sofort jeden gemeldeten Fehler oder jede Funktionsanfrage angehen können. Wir priorisieren Probleme in der folgenden Reihenfolge:
1. Bugs, die unsere kostenpflichtigen Produkte betreffen
Bugs, die unsere kostenpflichtigen Produkte beeinträchtigen, haben immer die höchste Priorität. In einigen Fällen behandeln wir möglicherweise nur Bugs, die uns direkt betreffen.
2. Community Pull Requests
Wenn Sie einen Bug identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull Request ein. Nach den Problemen, die unsere Produkte betreffen, geben wir diesen community-gesteuerten Fehlerbehebungen die nächsthöchste Priorität. Sobald Ihr Lösungsvorschlag geprüft und genehmigt wurde, werden wir Ihre Lösung zusammenführen und Ihre Beiträge anerkennen.
3. Finanzielle Unterstützung
Für Probleme außerhalb der genannten Kategorien können Sie sich entscheiden, deren Lösung zu finanzieren. Jedes offene Problem ist mit einem Bestellformular verknüpft, über das Sie finanziell beitragen können. Wir priorisieren diese Probleme basierend auf dem bereitgestellten Finanzierungsbetrag.
Community-Beiträge
Open Source gedeiht, wenn seine Community aktiv ist. Auch wenn Sie keine Bugs beheben, ziehen Sie in Betracht, durch Codeverbesserungen, Dokumentationsaktualisierungen, Tutorials oder durch Unterstützung anderer in Community-Kanälen einen Beitrag zu leisten. Wir ermutigen alle, als Community zusammenzuarbeiten, um die Arbeit im Bereich Open Source zu unterstützen.
Nocht einmal: DefectiveCode wird Bugs priorisieren, basierend darauf, wie sie unsere kostenpflichtigen Produkte, Community-Pull-Requests und die finanzielle Unterstützung für Probleme beeinträchtigen.
Lizenz - MIT Lizenz
Copyright © Defective Code, LLC. Alle Rechte vorbehalten
Hiermit wird jedermann, der eine Kopie dieser Software und der dazugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich, aber nicht beschränkt auf das Recht, die Software zu verwenden, zu kopieren, zu modifizieren, zusammenzuführen, zu veröffentlichen, zu vertreiben, Unterlizenzen zu erteilen und/oder Kopien der Software zu verkaufen, sowie Personen, denen die Software bereitgestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Die obige Urheberrechtshinweis und diese Erlaubnismitteilung sind in allen Kopien oder wesentlichen Teilen der Software enthalten.
DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE GARANTIE IRGENDWELCHER ART, WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BEGRENZT AUF DIE GARANTIEN DER MARKTFÄHIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR IRGENDEINEN ANSPRUCH, SCHÄDEN ODER ANDERE HAFTUNGEN HAFTBAR, OB IN EINER KLAUSEL FÜR VERTRAG, DELIKT ODER ANDERS, DIE AUS DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GEHEIMNISSEN IN DER SOFTWARE ENTSTEHEN.