मेरी Storm टोपोलॉजी में, स्ट्रीम स्ट्रीम करते समय, मैं कुछ भविष्य के बिंदुओं तक कुछ संदेशों की प्रसंस्करण में देरी करना चाहता हूं। ऐसा करने के लिए कुछ उचित विकल्प क्या हैं?तूफान में विलंबित कतार/संदेश प्रसंस्करण
- जावा के
Thread.sleep
का उपयोग करना:अब तक, मैं निम्नलिखित बारे में सोचा है। (हालांकि, कुछ विचार-विमर्श के आधार पर, यह एक सिफारिश की जिस तरह से कुशलतापूर्वक तूफान के संसाधनों का उपयोग करने के लिए है।)
- एक देरी कतार प्रयोग करें ...
- विशेष रूप से, java.util.concurrent.DelayQueue प्रयास करें।
- क्या कोशिश करने के लायक अन्य कार्यान्वयन हैं?
- क्या तूफान में एक संदेश में देरी के लिए कुछ एपीआई है जिसे मैंने अनदेखा किया है?
- क्या ज़ीरोएमक एक देरी संदेश API प्रदान करता है जो तूफान (यदि संशोधित) का लाभ उठा सकता है?
क्या आप कुछ विचार दे सकते हैं कि आप ऐसा क्यों करना चाहते हैं? यदि आप इस सामान को संसाधित करने के लिए तैयार नहीं हैं, तो आप इसे अपने तूफान टोपोलॉजी में क्यों शुरू कर रहे हैं? –
मेरी पहली प्रतिक्रिया: क्यों पूछें क्यों? क्या प्रश्न को समझना या जवाब देना महत्वपूर्ण है? कई कारण हैं कि एक ट्यूपल में देरी (या रीशेड्यूलिंग) क्यों उपयोगी है। मेरा ट्यूपल प्रोसेसिंग डेटा के विशुद्ध रूप से कार्यात्मक परिवर्तनों के बारे में नहीं है। मेरे मामले में, एक टुपल को संसाधित करने में सिस्टम के बाहर कुछ की स्थिति को कैप्चर करना और अन्य धाराओं के साथ एकीकृत करना शामिल है। चूंकि यह समय के साथ बदलता है, इसलिए मैं उस स्थिति को नियंत्रित अंतराल पर कैप्चर करना चाहता हूं। ऐसी एक आवश्यकता बाहरी संसाधन का उपभोग नहीं करना है। –