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

रिडंडेंट कनेक्शन

रिडंडेंट कनेक्शन आपको स्ट्रीम के लिए एक से अधिक समवर्ती कनेक्शन स्थापित करने की सुविधा देता है। इससे रिडंडेंसी मिलती है, क्योंकि आप दो अलग-अलग कंज़्यूमर के साथ उसी स्ट्रीम से कनेक्ट कर सकते हैं और दोनों कनेक्शनों के ज़रिए वही डेटा प्राप्त कर सकते हैं। इस तरह, विभिन्न परिस्थितियों—जैसे किसी एक स्ट्रीम का डिस्कनेक्ट हो जाना या आपके ऐप के प्राइमरी सर्वर का विफल हो जाना—में आपके ऐप के पास हॉट फ़ेलओवर होता है। रिडंडेंट स्ट्रीम का उपयोग करने के लिए, बस उसी URL से कनेक्ट करें जिसका उपयोग आपके प्राइमरी कनेक्शन के लिए किया जाता है। आपकी स्ट्रीम का डेटा दोनों कनेक्शनों के ज़रिए भेजा जाएगा।

बैकफिल

डिस्कनेक्शन का पता चलने के बाद, आपका सिस्टम इतना सक्षम होना चाहिए कि वह स्ट्रीम से फिर से कनेक्ट हो सके। यदि संभव हो, तो आपके सिस्टम को यह भी दर्ज कर लेना चाहिए कि डिस्कनेक्शन कितनी देर तक रहा, ताकि आप डेटा को बैकफिल करने के लिए सही रिकवरी सुविधा का उपयोग कर सकें।  यदि आपने निर्धारित किया है कि डिस्कनेक्शन पाँच मिनट या उससे कम समय तक रहा, तो आप backfill पैरामीटर, backfillMinutes, का उपयोग कर सकते हैं। यदि आप अपने GET /powerstream अनुरोध के साथ यह पैरामीटर भेजते हैं, तो आपको पिछले एक से पाँच मिनट के भीतर आपके नियमों से मेल खाने वाले पोस्ट्स मिलेंगे। आम तौर पर, हम किसी भी नए मिलान वाले पोस्ट्स से पहले ये पुराने पोस्ट्स डिलीवर करते हैं, और पोस्ट्स को डुप्लिकेट-मुक्त भी नहीं करते। इसका मतलब है कि अगर आपका कनेक्शन 90 सेकंड के लिए टूटा था, लेकिन आप दो मिनट के बैकफिल डेटा का अनुरोध करते हैं, तो आपको 30 सेकंड के डुप्लिकेट पोस्ट्स मिलेंगे, जिन्हें आपका सिस्टम संभाल पाने में सक्षम होना चाहिए। बैकफिल पैरामीटर के साथ अनुरोध कुछ इस तरह दिख सकता है: curl 'https://api.x.com/2/powerstream?backfillMinutes=5' -H "Authorization: Bearer $ACCESS_TOKEN" यदि आपने निर्धारित किया है कि डिस्कनेक्शन पाँच मिनट से अधिक समय तक रहा, तो आप छूटे हुए डेटा का अनुरोध करने के लिए recent search endpoint या रिकवरी सुविधा का उपयोग कर सकते हैं। 

रिकवरी

यदि आप 5 मिनट की बैकफिल विंडो के भीतर फिर से कनेक्ट नहीं कर पाते हैं, तो पिछले 24 घंटों के दौरान छूटा हुआ डेटा पुनर्प्राप्त करने के लिए आप रिकवरी सुविधा का उपयोग कर सकते हैं। स्ट्रीमिंग रिकवरी सुविधा आपको 24 घंटे की विस्तारित बैकफिल विंडो देती है। रिकवरी आपको छूटे हुए डेटा की समयावधि को ‘रीप्ले’ करने में सक्षम बनाती है। जब आप startTime और endTime अनुरोध पैरामीटर का उपयोग करके कनेक्शन अनुरोध भेजते हैं, तो एक रिकवरी स्ट्रीम शुरू होती है। कनेक्ट होने के बाद, रिकवरी बताई गई समयावधि को फिर से स्ट्रीम करेगी और फिर डिस्कनेक्ट हो जाएगी।  
नामTypeविवरण
startTimedate (ISO 8601)YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).

UTC में दिनांक, जो उस प्रारंभ समय को दर्शाती है जिससे पुनर्प्राप्ति की जानी है।
endTimedate (ISO 8601)YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).

UTC में दिनांक, जो उस समाप्ति समय को दर्शाती है जिसके तक पुनर्प्राप्ति की जानी है।
उदाहरण अनुरोध URL: https://api.x.com/2/powerstream?startTime=2022-07-12T15:10:00Z&endTime=2022-07-12T15:20:00Z