समस्या
एपीआई का उपयोग करते समय अधिकांश समय प्रतिक्रिया की प्रतीक्षा में व्यतीत होता है। बाहरी सेवा से थोक में जानकारी एकत्र करते समय इसके परिणामस्वरूप बहुत समय बर्बाद हो सकता है। यह लेख इस बात की पड़ताल करता है कि पायथन का उपयोग करके अनुक्रमिक अनुरोधों से समवर्ती अनुरोधों तक कैसे जाना है बहु , सूत्रण , और **Async **सुविधाएँ।
परिचय
में एक पिछला लेख , हमने एक साधारण फ़ंक्शन लिखा है जो एक क्वेरी द्वारा लौटाए गए मुद्दों की संख्या के लिए जीरा एपीआई सीमा के आसपास काम करता है। इसने समस्या को हल कर दिया लेकिन केवल कुछ हज़ार परिणामों के साथ ही सभी मुद्दों को पुनः प्राप्त करने का समय मिनटों में मापा जा सकता है।
_ए जेक्यूएल क्वेरी प्रति अनुरोध 50 मुद्दों (27 अनुरोध) के साथ 1334 मुद्दों को लौटाती है _ _31 सेकंड। _ _ द्वारा संगामिति का उपयोग करना कोड की 7 पंक्तियों को बदलना , हम इसे _ तक कम कर सकते हैं 2.5 सेकंड।
**क्यों?**अंतर्निहित का उपयोग कर एक त्वरित प्रोफ़ाइल |_+_| जुपिटर में जादू दिखाता है कि सुधार की इतनी गुंजाइश क्यों है।
%time
अनुरोधों को क्रमिक रूप से करने से हमारे CPU का उपयोग बीते हुए समय के ३१.४ सेकंड में से ७९७ मिलीसेकंड के लिए ही होता है। तो ३१ सेकंड में से, _से अधिक _ _97% _ समय व्यतीत होता है इंतज़ार कर रही नेटवर्क कॉल के लिए।
#जीरा #समवर्ती-प्रोग्रामिंग #api #api-concurrency-python #python
ओरडाटासाइंस.कॉम
भाग 1: पायथन के साथ एपीआई फ़ंक्शन को परिभाषित करना और समय देना
पायथन में संगामिति का ग्राफिकल अन्वेषण। पिछले लेख में, हमने एक साधारण फ़ंक्शन लिखा था जो एक क्वेरी द्वारा लौटाए गए मुद्दों की संख्या के लिए जीरा एपीआई सीमा के आसपास काम करता था। इसने समस्या को हल कर दिया लेकिन केवल कुछ हज़ार परिणामों के साथ ही सभी मुद्दों को पुनः प्राप्त करने का समय मिनटों में मापा जा सकता है।