Celery नि: शुल्क संदेश कतार सॉफ्टवेयर
पायथन-आधारित सबसे व्यापक रूप से तैनात ओपन सोर्स मैसेज ब्रोकर
अजवाइन एक वितरित संदेश कतार के आधार पर एक अतुल्यकालिक ओपन-सोर्स कार्य या नौकरी की कतार है। यह वास्तविक समय के संचालन पर ध्यान केंद्रित करने वाली कतार शेड्यूलिंग प्रदान करता है।
अवलोकन
अजवाइन एक खुला स्रोत, लचीला और विश्वसनीय वितरित संदेश कतार प्रणाली है जो विशाल मात्रा में संदेशों को संसाधित करने के लिए है। यह वास्तविक समय प्रसंस्करण पर ध्यान देने के साथ एक कार्य कतार है जबकि यह कार्य शेड्यूलिंग का भी समर्थन करता है। अजवाइन को बीएसडी लाइसेंस के तहत लाइसेंस प्राप्त है। अजवाइन में एक सरल अतुल्यकालिक प्रक्रिया कतार या नौकरी की कतार है जो वितरित संदेश पासिंग पर आधारित है। निष्पादन इकाइयों या प्रक्रिया कार्यों को मल्टीप्रोसेसिंग, इवेंटलेट या गेवेंट का उपयोग करके एकल या अधिक कार्यकर्ता नोड्स पर समवर्ती रूप से निष्पादित किया जाता है। अजवाइन के कार्य पृष्ठभूमि में या सिंक्रोनस में अतुल्यकालिक रूप से चलते हैं। अजवाइन संदेश ब्रोकर सॉफ्टवेयर पायथन का उपयोग करके लिखा गया है, लेकिन प्रोटोकॉल को किसी भी भाषा में लागू किया जा सकता है। अजवाइन संदेश कतार सॉफ्टवेयर का उपयोग इंस्टाग्राम के लिए उत्पादन प्रणालियों में किया जाता है, हर दिन लाखों कार्यों को संसाधित करने के लिए। यह WebHooks का उपयोग करके अन्य प्रोग्रामिंग भाषाओं के साथ भी काम कर सकता है। एक PHP क्लाइंट, गो क्लाइंट, एक नोड.जेएस क्लाइंट और एक रूबी-क्लाइंट है जिसे RCELERY कहा जाता है। अजवाइन एक ओपन सोर्स मैसेज कतार है जिसमें 18.4k GitHub Stars और 4.2k Github Forks है।
सिस्टम आवश्यकताएं
अजवाइन एक पायथन पैकेज है जो Redis या RabbitMQ के साथ एकीकृत करता है। अजवाइन संस्करण 5.1.2 रन:
- पायथन v3.6+
- Django 2.2+
- रेडिस
- Git
विशेषताएँ
अजवाइन की सबसे अच्छी संदेश कतार की कुछ प्रमुख विशेषताएं नीचे सूचीबद्ध हैं:
- शेड्यूलिंग
- निगरानी
- उच्च उपलब्धता
- क्षैतिज स्केलिंग
- Autoreloading
- संसाधन रिसाव संरक्षण
- वर्कफ़्लोज़
- समय और दर सीमा
- ऑटोस्केलिंग
- उपयोगकर्ता घटक
- खुला स्त्रोत
स्थापना निर्देश
ubuntu पर अजवाइन स्थापित करें
अजवाइन सबसे अच्छा संदेश ब्रोकर सरल और आसान सॉफ्टवेयर प्राप्त करना आसान है। सबसे पहले, सुनिश्चित करें कि अजवाइन के सभी डिपेंसी पैकेज स्थापित हैं और अद्यतित हैं। नीचे गाइड में डेबियन और उबंटू पर अजवाइन की स्थापना शामिल है, जिसमें उनके आधार पर वितरण शामिल हैं। कृपया अजवाइन को सेटअप करने के लिए नीचे दिए गए निर्देशों का पालन करें। कमांड के साथ अपने सिस्टम को अपडेट करें:
sudo apt update && sudo apt upgrade
अगला, कमांड चलाकर अजवाइन स्थापित करें:
pip install -U celery
यदि आप Ubuntu या डेबियन पर RabbitMQ स्थापित कर रहे हैं तो इस कमांड को निष्पादित करें:
sudo apt-get install rabbitmq-server
यदि आप बैकएंड के रूप में Redis का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप कमांड द्वारा Ubuntu पर APT के माध्यम से Redis स्थापित करें:
sudo apt-get install redis-server
इसके अतिरिक्त, अजवाइन एक एकल या बंडलों के एक समूह को परिभाषित करता है जिसका उपयोग अजवाइन और कमांड के साथ आवश्यक निर्भरता स्थापित करने के लिए किया जा सकता है:
pip install "celery[librabbitmq]"
pip install "celery[librabbitmq,redis,auth,msgpack]"
कमांड लाइन विकल्पों की पूरी सूची के लिए कृपया चलाएं:
celery worker --help
celery --help
RabbitMQ के लिए आप amqp: // localhost का उपयोग कर सकते हैं या Redis के लिए आप Redis: // localhost का उपयोग कर सकते हैं। बधाई हो! आपने उबंटू पर सफलतापूर्वक अजवाइन की कतारबद्ध सेवा स्थापित की है। आनंद लेना!
FAQs
What is celery system?
Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system. It’s a task queue with focus on real-time processing, while also supporting task scheduling.
Is celery open source?
Celery is an open source asynchronous task queue or job queue which is based on distributed message passing. While it supports scheduling, its focus is on operations in real time.
Who is using celery?
Who uses Celery? 433 companies reportedly use Celery open source message broker in their tech stacks, including Udemy, Robinhood, and Accenture.
What is the difference between celery and RabbitMQ?
Celery os distributed task queue. Celery is an asynchronous task queue or job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well; RabbitMQ is a messaging broker - an intermediary for messaging. RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Does Instagram use celery?
Instagram uses celery technology as its primary task managing tool.