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

Introduction

Laravel SQS Extended एक Laravel कतार ड्राइवर आहे जो AWS SQS पेलोड आकाराच्या मर्यादांचा सामना करण्यासाठी तयार केला गेला. हा कतार ड्राइवर मोठ्या पेलोड्सला स्वयंचलितपणे एका डिस्कवर (सामान्यतः S3) सिरीयलाइज़ करतो आणि नंतर चालूवेळी अनसिरीयलाइज़ करतो. या पॅकेजने https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html वरून प्रेरणा घेतली.

Simple SQS Extended Client कडे स्थलांतर

  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 Disk Queue Configuration
|--------------------------------------------------------------------------
|
| येथे आपण SQS डिस्क कतार ड्राइवर कॉन्फिगर करू शकता. हा सर्व समावेशक
| कॉन्फिगरेशन पर्यायांसह सामायिक करतो जो अंतर्गत Laravel SQS कतार ड्रायव्हरमध्ये आहे. एकच अतिरिक्त
| पर्याय म्हणजे `disk_options` जे खाली स्पष्ट केले आहे.
|
| always_store: सर्व पेलोड्स एका डिस्कवर संग्रहित केले जातील का याचा निर्धारण करतो, कतारच्या आकार मर्यादेच्या
| अंतर्गत.
| cleanup: काम प्रक्रिया केली गेल्यानंतर पेलोड फाइल्स डिस्कवरून काढण्यात याव्यात का याचा निर्धारण करतो.
| फाइल्स मागे ठेवणे डिबगिंग कारणासाठी कतार कार्ये पुन्हा प्ले करण्यासाठी उपयुक्त असू शकते.
| disk: SQS पेलोड संग्रहित करण्यासाठी डिस्क. ही डिस्क आपल्या Laravel फाइलसिस्टम.php कॉन्फिगरेशन फाइलमध्ये कॉन्फिगर केली पाहिजे.
| max_size: वैकल्पिक. ऑफलोड थ्रेशोल्डला निश्चित बाइट्सच्या संख्येसाठी पिन करते. वगळले असेल तर, थ्रेशोल्ड
| कतारपासून वाचला जातो. "पेलोड आकार थ्रेशोल्ड" खाली पहा.
| prefix पेलोड्स संग्रहित करण्यासाठी प्रेफिक्स (फोल्डर). हे इतर SQS क्युएसह डिस्क सामायिक करताना उपयुक्त आहे.
| प्रेफिक्स वापरणे कतार:क्लियर आदेशाला इतर sqs-डिस्क समर्थित क्युएसपासून फाइल्स नष्ट करण्याची परवानगी देते
| ज्यांच्यात समान डिस्क आहे.
|
*/
'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 च्या पेलोड मर्यादेसाठी चिंता न करता लाभ मिळवा 🥳

पेलोड आकार थ्रेशोल्ड

AWS ने ऑगस्ट 2025 मध्ये अधिकतम SQS पेलोड 256 KiB वरून 1 MiB वर वाढविला, परंतु MaximumMessageSize ही एक कतार विशेषता आहे — त्या बदल्यापूर्वी तयार केलेल्या क्युएस जुन्या 262144 बाइट मूल्यनिर्धारणासह राहतात, जोपर्यंत आपण वाढवत नाही. एकही मर्यादा गृहित धरून, हा पॅकेज कतारातून विशेषता वाचतो आणि फक्त काय खरेच बसणार नाही ते ऑफलोड करतो.

थ्रेशोल्ड खालील क्रमात निराकृत केला जातो, आणि पहिला सामंजस्य साधतो. एक पेलोड डिस्कवर संग्रहित केले जाते जेव्हा त्याची लांबी निराकृत थ्रेशोल्डच्या बरोबरीत किंवा त्यापेक्षा जास्त असते.

अटी थ्रेशोल्ड कतार विशेषता वाचते का
always_store true आहे प्रत्येक पेलोड संग्रहित केला जातो नाही
max_size सेट केले आहे कॉन्फिगर केलेली किंमत नाही
कतार 262144 (2025 पूर्वीचा डिफॉल्ट) असा अहवाल देते 250000 होय
कतार 1048576 (जास्तीत जास्तवर वाढवले) असा अहवाल देते 1036432 होय
विशेषता वाचली जाऊ शकत नाही 250000 एकदा प्रयत्न केला

12144 बाइट्सचा राखीव हेडर प्रत्येक संदेशावरचे ओव्हरहेड कव्हर करतो, आणि ह्या पॅकेजच्या जुन्या आवृत्त्यांनी वापरणार्‍या 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 विनंत्या म्हणून बिल केला जातो. मोठ्या पेलोड्सना डिस्कवर संग्रहित करणे बहुधा स्वस्त पथ आहे.

સપોર્ટ માર્ગદર્શિકા

આપણી ઓપન સોર્સ પેકેજ પસંદ કરવા માટે તમારો આભાર! કૃપા કરીને આ સેટેલાઈટ માર્ગદર્શિકાઓને ચકાસવા માટે થોડી મિનિટો પસાર કરો. આ પગલાં તમે અમારી યોજના પરથી વધુ સારી રીતે ઉપયોગી થવામાં મદદ કરશે.

સમુદાય ચલિત સહાયતા

અમારી ઓપન-સોર્સ યોજના અમારી શાનદાર સમુદાય દ્વારા ચલાવવામાં આવે છે. જો તમારી પાસે પ્રશ્નો છે અથવા સહાયતા જરૂર છે, તો સ્ટેકઓવરફ્લો અને અન્ય ઓનલાઈન સાધનો તમારા શ્રેષ્ઠ વિકલ્પ છે.

બગ્સ અને ફીચર પ્રાયોરિટાઈઝેશન

એક ઓપન-સોર્સ યોજના સંચાલિત કરવાનો વાસ્તવિકતાનો અર્થ એ છે કે દરેક નોંધાયેલા બગ અથવા ફીચર વિનંતી તરત ઠીક કરી શકતા નથી. અમે મુદ્દાઓને નીચેના ક્રમમાં પ્રાથમિકતા આપીએ છીએ:

1. અમારા પેઇડ ઉત્પાદનોને અસર કરતી બગ્સ

આપણાં પેઇડ ઉત્પાદનોને અસર કરતી બગ્સ હંમેશા અમારી ટોચની પ્રાથમિકતા રહેશે. કેટલીકવાર, અમે ફક્ત તે બગ્સને addressed કરીશું જે અમારો સીધો અસર કરે છે.

2. સમુદાય પુલ વિનંતીઓ

જો તમે એક બગ ઓળખી લીધો છે અને ત્યાં એક ઉકેલ છે, તો કૃપા કરીને પુલ વિનંતિ રજૂ કરો. અમારી ઉત્પાદનોને અસર કરતી મુદ્દા પછી, અમે આ સમુદાય ચલિત ઉકેલો માટે આગામી ઉંચી પ્રાથમિકતા પ્રદાન કરીએ છીએ. એક વાર સમીક્ષા અને મંજૂરી મેળવ્યા પછી, અમે તમારા ઉકેલને ઉમેરશું અને તમારી મુસદ્દાને માન આપશું.

3. નાણાની સહાયતા

ઉલ્લેખિત શ્રેણીઓની બહારના મુદ્દાઓ માટે, તમે તેમના સમાધાન માટે નાણાની સહાયતા આપવા માટે પસંદ કરી શકો છો. મોટી સમસ્યાઓ દરખાસ્તના ફોર્મ સાથે જોડાયેલી છે જયાં તમે નાણાંકીય રીતે ઇનામ આપી શકો છો. અમે આ મુદ્દાઓને આપવામાં આવેલા નાણાંની રકમના આધારે પ્રાથમિકતા આપીએ છીએ.

સમુદાયના યોગદાન

ઓપન સોર્સ ત્યારે જ જીવંત રહે છે જ્યારે તેની સમુદાય સક્રિય છે. જો તમે બગ્સને ઠીક નથી કરી રહ્યાં, તો કોડના સુધારા, દસ્તાવેજી અપડેટ, ટ્યુટોરિયલ્સ માધ્યમથી યોગદાન આપવાની ચૂકવણી કરો અથવા સમુદાય ચેનલોમાં અન્ય લોકોને મદદ કરે. અમે દરેકને બળાતમ ઉમેદવારી આપવાની ઉદ્બનકતામાં મદદરૃષ માટે ઉત્સાહિત કરીએ છીએ.

ફરીથી પુનરાવર્તન કરીએ, DefectiveCode બગ્સને અમારી પેઇડ ઉત્પાદનો પર કેવી રીતે અસર કરે છે તેના આધારે પ્રાથમિકતા આપશે, સમુદાય પુલ વિનંતીઓને, અને મુદ્દાઓ માટે મળેલ નાણાંકીય સહાયતા.

लायसन्स - MIT लायसन्स

कॉपीराइट © Defective Code, LLC. सर्व हक्क राखीव आहेत

या संगणक प्रोग्रामचा आणि संबंधित दस्तऐवज फाइल्स (या "सॉफ्टवेअर" म्हणून) एक प्रती मिळवणाऱ्या कोणत्याही व्यक्तीला, निर्बंधाशिवाय सॉफ्टवेअरमध्ये व्यवहार करण्याची परवानगी दिली जाते, ज्यात वापरण्याच्या, कॉपी करण्याच्या, सुधारित करण्याच्या, विलीन करण्याच्या, प्रकाशित करण्याच्या, वितरणाच्या, उपलायन करण्याच्या, आणि/किंवा सॉफ्टवेअरच्या प्रतींची विक्री करण्याच्या अधिकारांचा समावेश आहे, आणि ज्यांना सॉफ्टवेअर दिला जातो त्यांना असे करण्याची परवानगी देणे, खालील अटींच्या अधिन जातात:

वर उल्लेखित कॉपीराइट नोटिस आणि ही परवानगी नोटिस सर्व प्रतींमध्ये किंवा सॉफ्टवेअरच्या महत्त्वाच्या भागांमध्ये समाविष्ट केली जावी.

सॉफ्टवेअर "जसे आहे" दिले जाते, कोणत्याही प्रकारच्या वॉरन्टीशिवाय, स्पष्ट किंवा अप्रत्यक्ष, विक्रीसाठी तयार असणे, विशेष उद्देशासाठी योग्य असणे आणि कॉपीराइटचा भंग न करणारे यांचा समावेश, पण यापर्यंत सीमित नाही. लेखक किंवा कॉपीराइट धारक कोणत्याही दाव्यांसाठी, नुकसानांसाठी किंवा इतर जबाबदाऱ्याासाठी उत्तरदायी नाहीत, हे कॉन्ट्रॅक्ट, टॉर्ट किंवा इतर कोणत्याही प्रकारात असो, सॉफ्टवेअरशी संबंधित किंवा सॉफ्टवेअरसह किंवा इतर व्यवहारासंबंधी येणारे.