मैं एकाधिक HTTP पोस्ट प्रक्रिया को प्रबंधित करने के लिए MassTransit का उपयोग कर रहा हूं और सभी HTTP पोस्ट पूर्ण होने पर एक संदेश प्रकाशित करना चाहता हूं। क्या Sagas का उपयोग करके ऐसा करना संभव है? मुझे इस परिदृश्य का कोई उदाहरण नहीं मिला है। यहाँ मेरा उपयोग मामला उदाहरण है -

  • HTTP पोस्ट #1 (एपीआई/अपलोड) - अपलोडडाटा कमांड
  • HTTP पोस्ट #2 (एपीआई/अपलोड) - अपलोडडाटा कमांड
  • HTTP पोस्ट #3 (एपीआई/अपलोड) - अपलोडडाटा कमांड
  • HTTP पोस्ट #4 (एपीआई/अपलोड पूर्ण) - अपलोड पूर्ण कमांड

तो उपयोगकर्ता 4 HTTP पोस्ट करता है (डेटा के साथ 3, पूरा होने का संकेत देने वाला चौथा)। अपलोड पोस्ट तब भी संसाधित हो सकते हैं जब उपयोगकर्ता पोस्ट करता है कि अपलोड पूरा हो गया है, इसलिए मैं अन्य चरणों पर जाने के लिए एक और संदेश (अपलोडप्रोसेसिंग समाप्त) को फायर करने से पहले, सभी अपलोड संसाधित होने तक और अपलोड पूर्ण पोस्ट भेजे जाने तक प्रतीक्षा करना चाहता हूं। कार्यप्रवाह।

0
Ryan Langton 30 पद 2019, 17:19

1 उत्तर

सबसे बढ़िया उत्तर

आप इसके लिए एक गाथा का उपयोग कर सकते हैं, हाँ। यदि ठीक चार चरण हैं, जैसा कि आपने ऊपर वर्णित किया है, तो चार अलग-अलग घटनाओं के साथ एक एकल गाथा। फिर उस गाथा में एक CompositeEvent जोड़ें, जो तब शुरू होती है जब सभी उनमें से चार घटनाओं को संभाला गया है।

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

1
Chris Patterson 31 पद 2019, 15:06