मुझे पर्ल में कुछ समवर्ती एक्सएमएल फ़ीड अनुरोध करने की आवश्यकता है। यह करने के लिए सबसे तेज़ तरीका क्या है?पर्ल में समवर्ती वेब अनुरोध करने का सबसे तेज़ तरीका क्या है?
उत्तर
मैं शायद शायद इस तरह AnyEvent का उपयोग करेंगे:
use AnyEvent;
use AnyEvent::HTTP;
sub get_feeds {
my @feeds = @_;
my $done = AnyEvent->condvar;
my %results;
$done->begin(sub { $done->send(\%results) });
for my $feed (@feeds){
$done->begin;
http_get $feed, sub { $results{$feed} = \@_; $done->end };
}
$done->end;
return $done;
}
my $done = get_feeds(...);
my $result = $done->recv; # block until all feeds are fetched
AnyEvent :: HTTP का लिंक http://search.cpan.org/~mlehmann/AnyEvent-HTTP/ है। – gpojd
मैं कुछ इसी तरह के लिए LWP::Parallel::UserAgent इस्तेमाल किया। पॉड से एक उदाहरण:
require LWP::Parallel::UserAgent;
$ua = LWP::Parallel::UserAgent->new();
...
$ua->redirect (0); # prevents automatic following of redirects
$ua->max_hosts(5); # sets maximum number of locations accessed in parallel
$ua->max_req (5); # sets maximum number of parallel requests per host
...
$ua->register ($request); # or
$ua->register ($request, '/tmp/sss'); # or
$ua->register ($request, \&callback, 4096);
...
$ua->wait ($timeout);
...
sub callback { my($data, $response, $protocol) = @_; .... }
एलडब्लूपी :: हालांकि, इस समय समानांतर अपने परीक्षणों में विफल रहता है। –
मुझे लगता है कि यह अब बनाए रखा नहीं है। मैंने AnyEvent :: HTTP का उपयोग करने के लिए अपने सभी काम को स्थानांतरित कर दिया। – gpojd
HTTP::Async बहुत तेजी से और कोड के लिए काफी आसान है।
महत्वपूर्ण रूप से, यह HTTP :: प्रतिक्रिया ऑब्जेक्ट देता है, ताकि आप इसे एलडब्लूपी के स्थान पर लगभग दर्द रहित तरीके से स्लॉट कर सकें। –
दरअसल, AnyEvent::Curl::Multi libcurl के शीर्ष पर निर्मित एक गैर-अवरुद्ध लाइब्रेरी है। बहुत तेज़ और समेकन उपलब्ध है। AnyEvent :: HTTP, IMO से अधिक शक्तिशाली।
- 1. क्या उच्च प्रदर्शन पृष्ठ लिखने का सबसे तेज़ तरीका है?
- 2. पर्ल में डेटाबेस हैंडल पर सीजीआई पर सीआरयूडी प्राप्त करने का सबसे तेज़ तरीका क्या है?
- 3. एएसपी.नेट में, अनुरोध के लिए बेस यूआरएल प्राप्त करने का सबसे तेज़ तरीका क्या है?
- 4. पर्ल में HTTP GET अनुरोध करने का सबसे आसान तरीका क्या है?
- 5. Grails में POST वेब सेवा अनुरोध करने का सबसे अच्छा तरीका क्या है?
- 6. एक पंक्ति में कई वेब अनुरोध करने का सबसे आसान तरीका क्या है?
- 7. वेब पृष्ठों को एक वेब साइट के भीतर स्क्रैप करने का सबसे तेज़ तरीका
- 8. स्ट्रिंग को बाइनरी में कनवर्ट करने का सबसे तेज़ तरीका?
- 9. पायथन में sublist को पुनर्स्थापित करने का सबसे तेज़ तरीका
- 10. इंटरनेट कनेक्शन का परीक्षण करने का सबसे तेज़ तरीका
- 11. सी # में प्राइम की गणना करने का सबसे तेज़ तरीका?
- 12. ज़ेंड फ्रेमवर्क सीखने का सबसे तेज़ तरीका?
- 13. Android में HTML वेबपृष्ठ को स्क्रैप करने का सबसे तेज़ तरीका क्या है?
- 14. बड़ी संख्या में चेकबॉक्स का चयन करने और उन्हें चुनने का सबसे तेज़ तरीका क्या है?
- 15. डब्ल्यूसीएफ वेब एपीआई संस्करण का सबसे अच्छा तरीका क्या है?
- 16. स्पैस बूलियन मैट्रिस का प्रतिनिधित्व करने और गुणा करने का सबसे तेज़ तरीका क्या है?
- 17. पायथन में बड़े एक्सएमएल दस्तावेज़ों का विश्लेषण करने का सबसे तेज़ तरीका क्या है?
- 18. वेब स्क्रिप्टिंग/वेब मैक्रोज़ करने का सबसे अच्छा तरीका क्या है?
- 19. पर्ल सीजीआई आवेदन लिखने का सबसे अच्छा तरीका क्या है?
- 20. पर्ल मॉड्यूल में अनंतता की जांच करने का सबसे अच्छा तरीका क्या है?
- 21. ग्रेगोरियन कैलेंडर को क्लोन करने का सबसे तेज़ तरीका?
- 22. सबसे तेज़ तरीका एक टेम्पलेट
- 23. यादृच्छिक बिट्स उत्पन्न करने का सबसे तेज़ तरीका
- 24. एक ईपीएसलॉन बंद करने की गणना करने का सबसे तेज़ तरीका क्या है?
- 25. डेल्फी में एक रेखा पार करने का सबसे तेज़ तरीका क्या है?
- 26. Win32 API में स्वरूपित पाठ को आकर्षित करने का सबसे तेज़ तरीका क्या है?
- 27. एक JSite स्ट्रिंग को SQLite तालिका में पार्स करने का सबसे तेज़ तरीका क्या है?
- 28. आर में पहले दो प्रमुख घटकों की गणना करने का सबसे तेज़ तरीका क्या है?
- 29. पायथन में पेड़ की कई प्रतियां प्राप्त करने का सबसे तेज़ तरीका क्या है?
- 30. सी ++ में डिस्क पर डेटा आउटपुट करने का सबसे तेज़ तरीका क्या है?
क्या आपका सबसे तेज़ मतलब है: एक समाधान जो कार्यान्वित करने के लिए सबसे तेज़ होगा, या एक समाधान जो लागू होने के बाद सबसे तेज़ होगा? – Marcus