English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Laravel SQS Extended
Introduction
Laravel SQS Extended एक Laravel queue driver है जिसे AWS SQS payload size सीमाओं के चारों ओर काम करने के लिए डिज़ाइन किया गया है। यह queue driver स्वचालित रूप से बड़े payloads को एक डिस्क (आमतौर पर S3) पर serial करता है और फिर रन टाइम में उन्हें अनसिरियल करता है। इस पैकेज ने प्रेरणा ली है https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html से।
Simple SQS Extended Client से MIgrate करना
- अपने प्रॉजेक्ट से
simplesoftwareio/simple-sqs-extended-clientपैकेज हटा दें। defectivecode/laravel-sqs-extendedपैकेज स्थापित करें।
पुरानी कॉन्फ़िगरेशन नए पैकेज के साथ पीछे की ओर अनुकूल है। एकमात्र परिवर्तन पैकेज का नाम है।
इंस्टॉल करें
- सबसे पहले एक बकेट बनाएं जो आपके सभी बड़े SQS payloads को रखेगा।
हम अत्यधिक अनुशंसा करते हैं कि आप SQS payloads को संग्रहीत करते समय एक निजी बकेट का उपयोग करें। Payloads में संवेदनशील जानकारी हो सकती है और इसे कभी भी सार्वजनिक रूप से साझा नहीं किया जाना चाहिए।
-
composer require defectivecode/laravel-sqs-extendedचलाकर queue driver स्थापित करें। -
फिर, अपने
queue.phpफ़ाइल में निम्नलिखित डिफ़ॉल्ट queue सेटिंग्स जोड़ें।
Laravel Vapor उपयोगकर्ताओं को कनेक्शन नाम
sqsपर सेट करना चाहिए।sqsकनेक्शन Vapor Core के भीतर खोजा जाता है और यदि आप अलग कनेक्शन नाम का उपयोग करते हैं तो यह पुस्तकालय अपेक्षित रूप से काम नहीं करेगा।
/*|--------------------------------------------------------------------------| SQS Disk Queue Configuration|--------------------------------------------------------------------------|| यहाँ आप SQS डिस्क क्यू ड्राइवर को कॉन्फ़िगर कर सकते हैं। यह सभी समान| कॉन्फ़िगरेशन विकल्पों को साझा करता है जो अंतर्निहित Laravel SQS क्यू ड्राइवर से हैं। एकमात्र जोड़ा गया| विकल्प है `disk_options` जिसे नीचे समझाया गया है।|| always_store: निर्धारित करता है कि क्या सभी payloads को क्यू के आकार की सीमा के बावजूद एक डिस्क पर संग्रहीत किया जाना चाहिए।| cleanup: निर्धारित करता है कि क्या payload फ़ाइलों को job के संसाधित होने के बाद डिस्क से हटा दिया जाना चाहिए। फ़ाइलों को छोड़ना| डिबगिंग कारणों के लिए बाद में queue jobs को दोबारा पेश करने के लिए उपयोगी हो सकता है।| disk: वह डिस्क जिसमें SQS payloads को बचाना है। यह डिस्क आपके Laravel filesystems.php कॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर की जानी चाहिए।| max_size: वैकल्पिक। डिस्क ऑफलोड थ्रेशहोल्ड को बाइट्स की एक निश्चित संख्या पर पिन करता है। जब छोड़ा जाता है, तो थ्रेशहोल्ड क्यू से पढ़ा जाता है।| "Payload size threshold" देखें।| prefix Payloads के साथ संग्रहीत करने के लिए उपसर्ग (फोल्डर)। यदि आप अन्य 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', ],],
- अपने क्यूज़ को बूट करें और SQS के payload सीमा की चिंता किए बिना लाभ उठाएँ 🥳
Payload size threshold
AWS ने अगस्त 2025 में अधिकतम SQS payload को 256 KiB से 1 MiB बढ़ा दिया, परंतु MaximumMessageSize एक प्रति-क्यू विशेषता है — जो क्यू परिवर्तन से पहले बनाए गए हैं वे पुराने 262144 बाइट मान को तब तक बनाए रखते हैं जब तक कि आप इसे बढ़ा नहीं देते। किसी भी सीमा को मानने के बजाय, यह पैकेज क्यू से विशेषता को पढ़ता है और केवल वही जो वास्तव में नहीं फिट होगा, उसे ऑफलोड करता है।
थ्रेशहोल्ड को निम्नलिखित क्रम में हल किया जाता है, और पहला मेल जीतता है। जब payload की लंबाई हल की गई थ्रेशहोल्ड से अधिक होती है या उसके बराबर होती है, तब उसे डिस्क पर संग्रहीत किया जाता है।
| स्थिति | थ्रेशहोल्ड | क्यू विशेषता पढ़ता है |
|---|---|---|
always_store true है |
प्रत्येक payload संग्रहीत है | नहीं |
max_size सेट है |
कॉन्फ़िगर किया गया मान | नहीं |
क्यू रिपोर्ट करता है 262144 (2025 से पहले डिफ़ॉल्ट) |
250000 | हां |
क्यू रिपोर्ट करता है 1048576 (अधिकतम तक बढ़ाया गया) |
1036432 | हां |
| विशेषता पढ़ी नहीं जा सकती | 250000 | एक बार प्रयास किया गया |
12144 बाइट का आरक्षित हेडर प्रति-मैसेज ओवरहेड को कवर करता है, और इसे इस तरह आकारित किया गया है कि क्यू को 262144 बाइट डिफ़ॉल्ट पर छोड़ने से 250000 बाइट थ्रेशहोल्ड का हल होता है जिसका उपयोग इस पैकेज के पहले संस्करणों द्वारा किया गया था। उन्नयन क्यू की अपनी सीमा को बढ़ाए बिना व्यवहार नहीं बदलता।
अनुमतियाँ
विशेषता को पढ़ने के लिए sqs:GetQueueAttributes की आवश्यकता होती है। परिणाम प्रति क्यू मेमोरी में कैश किया जाता है, इसलिए इसके लिए प्रक्रिया के जीवनकाल के लिए प्रति क्यू एक कॉल की लागत होती है बजाय कि प्रति जॉब एक कॉल।
यदि विशेषता पढ़ी नहीं जा सकती — एक संकीर्ण IAM नीति, या एक SQS इम्यूलेटर जो इसे लागू नहीं करता — तो ड्राइवर 250000 बाइट थ्रेशहोल्ड पर वापस चला जाता है और डिलीवरी जारी रखता है। यदि आप अनुमति प्रदान नहीं करना चाहते हैं तो लुकअप पूरी तरह से छोड़ने के लिए max_size सेट करें।
क्यू की सीमा बढ़ाना
aws sqs set-queue-attributes \ --queue-url https://sqs.us-east-1.amazonaws.com/your-account-id/your-queue \ --attributes MaximumMessageSize=1048576
ध्यान दें कि SQS 64 KB के टुकड़ों में उपयोग मापा जाता है, इसलिए एक ही 1 MiB संदेश 16 अनुरोधों के रूप में बिल किया जाता है। बड़ी payloads को डिस्क पर संग्रहीत करना अक्सर सस्ता रास्ता होता है।
ಬೆಂಬಲ ಮಾರ್ಗಸೂಚಿಗಳು
ನಮ್ಮ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದಕ್ಕೋಸ್ಕರ ಧನ್ಯವಾದಗಳು! ದಯವಿಟ್ಟು ಈ ಬೆಂಬಲ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನೂರು ಕೊಡಿ. ಇವು ನಿಮ್ಮ ಯೋಜನೆಯಿಂದ ಹೆಚ್ಚು ಕ್ಕಿಯಾಗಿ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಸಮುದಾಯ ನಡಿಸುವ ಬೆಂಬಲ
ನಮ್ಮ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವು ನಮ್ಮ ಅದ್ಭುತ ಸಮುದಾಯದಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ. ನಿಮ್ಮಿಗೆ ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ ಅಥವಾ ಸಹಾಯದ ಅಗತ್ಯವಿದ್ದರೆ, StackOverflow ಮತ್ತು ಇತರ ಆನ್ಲೈನ್ ಸಂಪತ್ತುಗಳು ನಿಮ್ಮ ಉತ್ತಮ ಆಯ್ಕೆಯಾಗಿವೆ.
ದೋಷಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆದ್ಯತೆಯೀಡಿಸುವುದು
ಆವರ್ತಿತವಾಗಿರುವ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವನ್ನು ನಿರ್ವಹಿಸುವ ವಾಸ್ತವವು, ಪ್ರತಿಯೊಬ್ಬ ವರದಿ ಮಾಡಿದ ದೋಷ ಅಥವಾ ವೈಶಿಷ್ಟ್ಯ ಕೇಳುವಿಕೆಯನ್ನೂ ತಕ್ಷಣ ಸಂಖ್ಯಾಪಟ್ಟಿ ಮಾಡುವುದು ಸಾಧ್ಯವಿಲ್ಲ. ನಾವು ಸಮಸ್ಯೆಗಳನ್ನು ಹೀಗೆಯೇ ಆದ್ಯತೆ ನೀಡುತ್ತೇವೆ:
1. ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳು
ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳು ಯಾವಾಗಲೂ ನಮ್ಮ ಉನ್ನತ ಆದ್ಯತೆ ಆಗುವವು. ಕೆಲವು ಸ್ಥಿತಿಗಳಲ್ಲಿ, ನಾವು ಕೇವಲ ನಮ್ಮನ್ನು ಅದೆ ಅಥವಾ ನೇರವಾಗಿ ಹಾನಿಯೊಳಗಾಗುವ ದೋಷಗಳನ್ನು ಮಾತ್ರ ಪರಿಹರಿಸಲಿಕ್ಕೆ ಇತ್ತು.
2. ಸಮುದಾಯ ಪುಲ್ Requestಗಳು
ನೀವು ಒಂದು ದೋಷವನ್ನು ಗುರುತಿಸಿದ್ದರೆ ಮತ್ತು ಒಂದು ಪರಿಹಾರವನ್ನು ಹೊಂದಿದ್ದರೆ, ದಯವಿಟ್ಟು ಕುರಿತಾದ ಪುಲ್ ಬುಟ್ಟಿ ಸಲ್ಲಿಸಿ. ನಮ್ಮ ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ಸಮಸ್ಯೆಗಳ ನಂತರ, ನಾವು ಸಮುದಾಯ-ಚಾಲಿತ ಪರಿಹಾರಗಳಿಗೆ ಮುಂದಿನ ಗರಿಷ್ಠ ಆದ್ಯತೆ ನೀಡುತ್ತೇವೆ. ಪರಿಶೀಲನೆ ಮತ್ತು ಅನುಮೋದನೆಯ ನಂತರ, ನಿಮ್ಮ ಪರಿಹಾರವನ್ನು ನಾವು ಸೇರಿಸುತ್ತೇವೆ ಮತ್ತು ನಿಮ್ಮ ಕೊಟ್ಟ ಒಡನೆಯ ಕುಂಬಳಕ್ಕೆ ಕ್ರೆಡಿಟ್ ನೀಡುತ್ತೇವೆ.
3. ಹಣಕಾಸಿನ ಬೆಂಬಲ
ಜಾಹೀರಾತು ಮಾಡದ ವರ್ಗಗಳ ಹೊರಗೊಮ್ಮಲುಗೆ, ನೀವು ಅವರ ಪರಿಹಾರಕ್ಕೆ ಹಣ ಮರುಪಾವತಿಸಲು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಪ್ರತಿ ತೆರೆಯಾದ ಸಮಸ್ಯೆ ಹಣಕಾಸಿನ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಜೋಡಿಸಲು ಅವಕಾಶ ఇಷ್ಟು ಇರುವ ಆರ್ಡರ್ ಫಾರ್ಮ್ಗೆ ಸಂಪರ್ಕಪಟ್ಟಿದೆ. ನಾವು ನೀಡಿದ ಹಣಕಾಸಿನ ಪ್ರಮಾಣಕ್ಕೆ ಆಧಾರಿತವಾಗಿ ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಶ್ರೇಣೀಬದ್ಧ ಮಾಡುತ್ತೇವೆ.
ಸಮುದಾಯ ಕೊಡುಗೆಗಳು
ತೆರೆಯಾಗಿ ಮೂಲಬರಹವು ತನ್ನ ಸಮುದಾಯವು ತೀವ್ರರಾಗುವುದು. ನೀವು ದೋಷಗಳನ್ನು ಪರಿಹರಿಸುತ್ತಿಲ್ಲ ಆದರೂ, ಕೋಡ್ ಸುಧಾರಣ್ಗಳ ಮೂಲಕ, ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ನವೀಕರಣಗಳು, ಟ್ಯುಟೋರಿಯಲ್ಸ್, ಅಥವಾ ಸಮುದಾಯ ಚಾನೆಲ್ಗಳಲ್ಲಿ ಇತರರ ಸಹಾಯ ಮಾಡುವ ಮೂಲಕ ಕೊಡುಗೆ ನೀಡುವುದನ್ನು ಪರಿಗಣಿಸು. open-source ಕೆಲಸವನ್ನು ಬೆಂಬಲಿಸಲು ನಾವು ಎಲ್ಲರಲ್ಲಿಯೂ ಹತ್ತಿರ ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ.
ಮರಳಿ ಹೇಳಬೇಕಾದರೆ, DefectiveCode ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳನ್ನು, ಸಮುದಾಯ ಪುಲ್ರಿಕ್ವೆಸ್ಟ್ಗಳನ್ನು, ಮತ್ತು ಸಮಸ್ಯೆಗಳಿಗೆ ದೊರೆತ ಹಣಕಾಸಿನ ಬೆಂಬಲವನ್ನು ಆಧರವಾಗಿ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ.
ലൈസൻസ് - MIT ലൈസൻസ്സ്
കനിഹ് © Defective Code, LLC. എല്ലാറ്റിനും അവകാശങ്ങൾ കൊണ്ടിരിക്കൊണ്ടു
ഈ സോഫ്റ്റ്വെയർ മനസ്സിലാക്കുകയും, ഇതുമായി ബന്ധപ്പെട്ട രേഖകൾ (''സോഫ്റ്റ്വെയർ'') എന്നതിൽ, ആരയെങ്കിലും ഈ സോഫ്റ്റ്വെയറിന്റെ ഒരു പകർപ്പ് സ്വതന്ത്രമായി കൈവശപ്പെടുത്താൻ, സോഫ്റ്റ്വെയറിൽ നിയമനിർമ്മാണം ചെയ്യാൻ, ബഹുഭാഷാക്കാൻ, സമന്വയിക്കാൻ, പ്രസിദ്ധീകരിക്കാൻ, വിതരണം ചെയ്യാൻ, ഉപരിമിതിയുള്ളവനെ/വെബ്സൈറ്റിനെ/വിപണിയിൽ, സോഫ്റ്റ്വെയർ ისტორი അുനിയ്ക്കുന്നു, അത്തരം വ്യക്തികളെ അനുവദിക്കാനും, തുടർന്ന് ഈ ഘടനകളെ സമർപ്പിക്കുമ്, ഈ നിബന്ധനകൾ പാലിക്കുവാൻ തയ്യാറാണ്:
മുകളിൽ കൊടുത്ത കൃതിമാറ്റം നോട്ടം, ഈ അനുമതി നോട്ടം എല്ലാ കോപ്പികളിലും അല്ലെങ്കിൽ സോഫ്റ്റ്വെയറിന്റെ പ്രധാന ഭാഗങ്ങളിൽ ഉൾപ്പെടണം.
സോഫ്റ്റ്വെയർ "എസ് ആസ്" എന്ന നിലയിൽ, ഏത് വിധത്തിലുള്ള ഗുണനിലവാരമോ, വ്യക്തമായോ അല്ലെങ്കിൽ സൂചിപ്പിക്കപ്പെട്ടതുമായ, വ്യാപാര സ്വദേശനിർമ്മാണം, പ്രത്യേക സാഹചര്യങ്ങൾക്കായുള്ള യോജ്യത, വിപരീതങ്ങളെക്കുറിച്ചുള്ള വൈകല്യങ്ങൾ അടക്കം, ഏതെങ്കിലും രൂപത്തിലുള്ള വഞ്ചനകൾ, ബാധ്യതയെ അറിഞ്ഞോ, അറിഞ്ഞില്ലയ്ക്കും, സോഫ്റ്റ്വെയർ അല്ലെങ്കിൽ സോഫ്റ്റ്വെയർ ഉപയോഗം അല്ലെങ്കിൽ അതിനോട് പൊരുത്തപ്പെടുന്ന മറ്റുള്ളവയിൽ നിൽക്കുന്നു, പിടിയിൽ അല്ലെങ്കിൽ കരാറിൽ, അഴുക്കുകൾ അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും, ഉയർന്ന കാര്യങ്ങളെ നേരിടുന്നു.