2012-03-06 3 views
26

मैं जावा पर्यावरण के लिए सेलेरी प्रोजेक्ट के बराबर खोजने की कोशिश कर रहा हूं, मैंने स्प्रिंग बैच को देखा है, लेकिन वितरित कार्य कतारों के लिए कोई बेहतर विकल्प हैं।जावा के लिए पाइथन की सेलेरी प्रोजेक्ट के बराबर क्या है?

धन्यवाद।

+0

असल में इसका एक डुप्लिकेट: https://stackoverflow.com/questions/9577012/whats-the-equivalent-of-pythons-celery-project-for-java (लेकिन इस डुप्ले के पास अब तक बेहतर जवाब हैं ...) – fnl

उत्तर

5

क्वार्ट्ज ने अतीत में मेरे लिए काम किया है। यह अब टेराकोटा के साथ एकीकृत है, इसलिए इसे वितरित करना आसान होना चाहिए। http://quartz-scheduler.org/

+2

क्या किसी विशिष्ट शेड्यूल पर नौकरी निष्पादित करने के बजाए क्वार्ट्ज शेड्यूलर के साथ ऑन-डिमांड जॉब निष्पादन करना संभव है? –

+0

@ZakiullahKhanMohamed मैं _very_ देर से हूँ लेकिन हाँ, यह संभव है। आप तुरंत नौकरी के लिए नौकरी निर्धारित कर सकते हैं। – GuiSim

+1

बस एक सिर ऊपर: ओपन सोर्स 'फ्री' संस्करण में वितरण के लिए कोई समर्थन नहीं है। टेराकोटा दावा करता है कि उद्यम संस्करण करता है। –

3

सेलेरी मुख्य रूप से एरलांग/खरगोश एमक्यू पर आधारित है। RabbitMQ में Java client library है जो उपयोगी हो सकता है। इसके अलावा, octobot है जिसमें एक RabbitMQ बैकएंड है।

+0

यदि मैं गलत नहीं हूं तो सेलरी मुख्य रूप से पायथन में लिखा गया है और एरलांग नहीं है, मैं इस नोट पर सहमत होगा कि खरगोश एमक्यू एरलांग आधारित है। Octobot देख रहे हैं, धन्यवाद। –

+1

मुझे लगता है कि उसका मतलब है कि खरगोश एमक्यू एरलांग में लिखा गया है, इसलिए आपको इसका उपयोग करने के लिए इसे इंस्टॉल करने की आवश्यकता है। – fabspro

8

जेस्क (https://github.com/gresrun/jesque) जावा वितरित कार्य कतार लाइब्रेरी है। यह Resque पुस्तकालय (https://github.com/defunkt/resque) है, जो अपने GitHub पृष्ठ पर इस तरह वर्णन किया गया है की एक जावा बंदरगाह है:

Resque ("बचाव" की तरह स्पष्ट), पृष्ठभूमि नौकरियां पैदा उन रखने के लिए एक Redis समर्थित पुस्तकालय है । https://github.com/cscotta/Octobot इतना नहीं प्रलेखन हालांकि ... वहाँ octobot.taco पर इसके लिए एक वेबसाइट हुआ करता था: कई कतारों पर रोजगार, और उन्हें बाद में प्रसंस्करण "

0

निकटतम बात मैंने पाया Octobot है। बिल्ली, लेकिन मैंने हाल ही में उस भार को नहीं देखा है। मैंने व्यक्तिगत रूप से ऑक्टोबॉट का उपयोग नहीं किया है, लेकिन मैंने अक्सर इसे जावा के लिए सेलेरी के रूप में अनुशंसित देखा है।

20

क्या सेलरी कर रही है EIP, और SEDA के साथ सुविधाजनक कार्य शेड्यूलिंग के साथ बहुत कुछ है ... (जो कुछ आप करने के लिए छोड़ चुके हैं वह कुछ डीबी और एसिंक HTTP नेटवर्किंग जोड़ रहा है और आपके पास एक पूर्ण एंटरप्राइज़ गुणवत्ता स्टैक है)।

  • स्प्रिंग:

    जावा में

    मूल रूप से वहाँ स्प्रिंग रास्ता, जावा ईई तरह से, और Hadoop तरीका है स्प्रिंग एकता + वसंत बैच + RabbitMQ

  • जावा ईई: खच्चर + क्वार्ट्ज या EJB निर्धारण + HornetMQ
  • Hadoop:Capacity + चिड़ियाघर संचालक

वे सेटिंग की आसानी के लिए मोटे तौर पर हैं।

-2

अपाचे ActiveMQ http://activemq.apache.org/

अपाचे काफ्का http://kafka.apache.org/

+3

मुझे नहीं लगता कि ActiveMQ और Kafta वेल्लर की तरह वर्कर/कार्य कतार हैं। वे संदेश दलाल हैं और यदि आप इसका मतलब है तो RabbitMQ से तुलना की जा सकती है। – Rupesh

0

मैं जावा के लिए अजवाइन के रूप में उपयोग करने के लिए आसान के रूप में कुछ भी खोजने के लिए नहीं कर पाए हैं। अधिकांश समाधानों को संदेश कतार का उपयोग करने की अनुशंसा की जाती है। लेकिन अजवाइन कतार की तुलना में उच्च स्तर के अमूर्तता को बैठता है। इसके बजाय संदेशों और उपभोक्ताओं की, आप कार्यों और श्रमिकों, परिणाम, पुनः आदि के मामले में सोच सकते हैं

मैं भी दोनों जावा और अजगर का उपयोग कर एक कंपनी के लिए कुछ पुल लागू करने की जरूरत है ताकि मैं इस परियोजना शुरू कर दिया:

celery-java - जावा में सेलेरी क्लाइंट और कार्यकर्ता, उनके पायथन समकक्षों के साथ संगत।

सावधान रहें, यह अभी तक बहुत अपरिपक्व है।

संबंधित मुद्दे