Gungho
view release on metacpan or search on metacpan
docs/ja/Gungho/Manual/FAQ.pod view on Meta::CPAN
å
ã»ã©ã® engine.module = POEã®ãããªå ´åãå®éã«ã¯ä»¥ä¸ã®ãããªè¨å®ã
æãã¦ãã¾ãï¼
my $config = {
engine => {
module => "POE"
}
}
YAMLãªãã°ãã®ããã«ãªãã¾ã
engine:
module: POE
=head1 Q. "Gunghoã忣ç°å¢ã§ä½¿ãäºã¯å¯è½ã§ããï¼"
Gunghoã¯åæ£ç°å¢ã§ã®åä½ãå¯è½ã«ããããã®æ§ã
ãªæ©è½ãå®è£
ããã¦ãã¾ãã
æ£ç¢ºã«ã¯ããããã®ã¯ãã¼ã©ã¼ã¯èªåã忣ç°å¢ã§åãããã«æ§ã
ãªç´°ããè¨å®ã
è¡ãå¿
è¦ãããã¾ããGunghoãæä¾ããã®ã¯ãã®è§£ã®ä¸ä¾ã§ãããããªããå¿
è¦ã¨
ããç©ã¨ï¼ï¼ï¼ï¼
åè´ããã¨ã¯éãã¾ããããã®å ´åã¯Gunghoãæä¾ããé¨åã
ã覧ã«ãªã£ãä¸ã§ããªãã®ç°å¢ã«åãããã«ãã¥ã¼ãã³ã°ãã¦ã¿ã¦ãã ããã
Gunghoã忣ç°å¢ã§åä½ãããã«ã¯ããã¾ãã«ï¼ã¤ã®é¨åã忣åãããå¿
è¦ãããã¾
ãã以ä¸ã®ä¸ã¤ã®é¨åã®ããã¥ã¡ã³ããåç
§ãã¦ãã ããã
=over 4
=item 忣ã¹ããããªã³ã°
Gunghoãã¼ã¸ã§ã³0.08010ããThrottle::Domainã¨Throttle::Simpleã«å¯¾ãã¦
Data::Throttlerããã¯ã¨ã³ãã鏿ã§ããããã«ãªãã¾ããã忣ç°å¢ã«å¯¾å¿ãã
ããã«ã¯ã¹ããããªã³ã°ã®ããã¯ã¨ã³ãã忣ãããå¿
è¦ãããã¾ãããã®ããã«
Data::Throttler::Memcachedã使ç¨ãããã¨ãã§ãã¾ãã
Data::Throttler::Memcachedã使ç¨ãããã¨ã«ãã£ã¦ãã¹ããããªã³ã°ãã¼ã¿ã
memcachedã«ä¿åããåãã¹ãããã«æ
å ±ãè¤æ°ããã»ã¹éã§å
±æããäºãã§ãã¾ãã
=item robots.txtæ
å ±ã®åæ£
Gunghoãã¼ã¸ã§ã³0.08013ããRobotRulesã³ã³ãã¼ãã³ãã¯ãã¼ã¿ã¹ãã¬ã¼ã¸ã«
BerkeleyDBã ãã§ãªããã£ãã·ã¥ã使ãäºãå¯è½ã«ãªãã¾ããã
ãã¡ããè¨å®ã«memcachedçã®åæ£ãã£ãã·ã¥ã使ç¨ãããã¨ã«ãã£ã¦robots.txt
æ
å ±ãè¤æ°ããã»ã¹éã§å
±æããäºãã§ãã¾ãã
=item 忣åProvider
忣åã®ä¸ã§ã¯ãããä¸çªã·ã³ãã«ã§ããããã¯ãã Providerã®ã¹ãã¬ã¼ã¸ã
ãã¼ã¿ãã¼ã¹ãã¡ãã»ã¼ã¸ãã¥ã¼çã«æå®ãããããããã¼ã¿ãåºãå
¥ããã
ã ãã§ãã
=back
=head1 Q. "ãªã¯ã¨ã¹ããåå¾ããã®ã«æéãããã£ã¦ããããã§ããã©ããªå¯¾å¦æ¹æ³ãããã¾ããï¼"
ããã¯æ§ã
ãªå åãé¢ä¿ãã¦ãã¾ãããã¾ã以ä¸ã®ãããªç¹ã注æãã¦ã¿ã¦ãã ããï¼
=head2 ããªãã®ãã¼ã¿ã»ããã¯Gunghoã¨åã£ã¦ã¾ããï¼
Gunghoã¯éåæã¨ã³ã¸ã³ã使ç¨ããPOE::Component::Client::Keepaliveã§ã½ã±ãã
æ¥ç¶ããã£ãã·ã¥ãã¾ãã
ãã®ãããªåä½ãããGunghoã使ãå ´åãæ§ã
ãªãã¹ããã¯ãã¼ã«ããåã«ã¯è¯ãæ§è½
ãæå¾
ã§ãã¾ããããã®éã§ä¾ãã°ã²ã¨ã¤ã®ãã¹ãå
ãã¯ãã¼ã«ããã«ã¯æ³¨æã
ããªãã¨æãããã«æ§è½ãä¸ãããªãå¯è½æ§ãããã¾ãã
=head2 Gungho::Engine::POEã¨loop_delayè¨å®
C<engine.config.loop_delay> ã¯ï¼ã«ã¼ããããã«å¾
ã¤æéã®æå®ããã¾ãããã®
ï¼ã«ã¼ãæ¯ã«Providerãæ¬¡ã«éä¿¡ãããªã¯ã¨ã¹ãã¯ããã®ã確èªãããã®ãªã¯ã¨ã¹ãã
C<send_request()>ãéãã¦éä¿¡ã§ãããã©ããã®ç¢ºèªãè¡ãã¾ãã
ããC<engine.config.loop_delay>ãæ¥µç«¯ã«å°ããæ°ã«è¨å®ããã¦ããå ´åãä¸è¨
å¦çãè¡ãããã«ã»ã¨ãã©ã®æéãå²ãããå®éã®HTTPå¦çãè¡ããªãäºãããã¾ãã
éã«ãã®å¤ãé«ãããå ´åãProviderã«ãªã¯ã¨ã¹ãããããã©ããã®ç¢ºèªããã«ãã
ã¾ã§ã«é·ãæéãããããã¢ã¤ãã«æéãå¢ããåå ã¨ãªãã¾ãã
ã¢ããªã±ã¼ã·ã§ã³ã®è©³ç´°ãªæåãããã¼ã¿ã»ããå
容ã«ãã£ã¦å¤åããäºé
ãªã®ã§
ãã®è¨å®é
ç®ã«å¯¾ãã¦ãæ£å¸¸ãªå¤ãã¯åå¨ãã¾ããããã ä¸è¬çã«ã¯ï¼ç§ãããã®
å¤ããå§ãã¦ããã°ãè¦ã¤ã¤èª¿æ´ããã¦ãã£ã¦ãã ããã
=head2 Providerããéããã¦ããªã¯ã¨ã¹ãæ°ã確ããã
Providerã¯å¥½ããªã ãã®ãªã¯ã¨ã¹ããã¨ã³ã¸ã³ã«éãäºãã§ãã¾ããããã®ãªã¯ã¨ã¹ã
ã調ç¯ããªãã¨ç°¡åã«ãã·ã³ï¼ãããã¯ã¼ã¯ï¼ããã°ã©ã ã®å¸¯åéçãè¶
ããå¯è½æ§ã
ããã¾ãã
ç¶ç¶çã«ãªã¯ã¨ã¹ããéä¿¡ãã¦ããå ´åã¯ããç¨åº¦ã¹ããããªã³ã°ãæ½ãã¦ãããã®
ãè¯ãã§ãããã
=head2 PoCo::Client::HTTPãè©°ã¾ãç¾è±¡ãåé¿ãã
Gungho::Engine::POEã使ç¨ãã¦ããå ´åã¯å
é¨çã«POE::Component::Client::HTTPã
使ç¨ãã¦HTTPå¦çãè¡ãã¾ããPOE::Component::Client::HTTPã¯åºæ¬çã«æ§è½çã«ã¯
ã¨ã¦ãåªç§ãªHTTPã¯ã©ã¤ã¢ã³ããªã®ã§ãããéä¿¡ããã¦ãããªã¯ã¨ã¹ãæ°ãå¤ãããã¨
é
ããªã£ã¦è¡ãäºãããã¾ãã
ãã®åé¡ã¯POE::Component::Client::HTTPã»ãã·ã§ã³ãå¢ããäºã§ããç¨åº¦å¯¾å¿
ã§ãã¾ããC<engine.config.spawn>ã®æ°ã夿´ããäºã«ãããPOE::Component::Client::HTTP
ã»ãã·ã§ã³ã®æ°ãå¶å¾¡ããäºãã§ãã¾ãï¼ããã©ã«ãå¤ã¯ï¼ã§ãï¼ã
ãã ãããã®åé¡ãèµ·ããå ´åã¯ãã§ã«ãããã¯ã¼ã¯å¸¯åçãä»ã®è¦å ã飽åç¶æ
ã«
ãªã£ã¦ããå¯è½æ§ãé«ãã®ã§C<engine.config.spawn>ã®å¤ã調ç¯ããã ãã§ã¯
ç¹ã«å¤åãè¦ãããªãå ´åã¯ãã¡ããçã£ã¦ã¿ã¦ãã ããã
=head2 Gungho::Engine::POEã¨ãããã·
ã¯ãã¼ã©ã¼ããããã·ãéãã¦éç¨ããã®ã¯ããè¡ããã¦ããäºã§ããã
Gungho::Engine::POEã¨ä½¿ç¨ããæã«ã¯ããã©ã¼ãã³ã¹ãè½ã¡ãå¯è½æ§ãããã®ã§
注æããå¿
è¦ãããã¾ãã
ãããã·ã使ç¨ããå ´åã¯ä»¥ä¸ã®ãããªè¨å®ãæå®ãã¦ãã ããï¼
engine:
module: POE
config:
keepalive:
keep_alive: 0
ãã®è¨å®ãè¡ãäºã«ãã£ã¦POE::Component::Client::HTTPã§ä½¿ç¨ããã¦ãã
POE::Component::client::Keepaliveãç¡å¹åãã¾ããKeepaliveã¯ä¸åº¦æ¥ç¶ããã
ã½ã±ããæ¥ç¶ãåå©ç¨ãã¦ããã¢ã¸ã¥ã¼ã«ã§ããããããã·ã«æ¥ç¶ãã¦ããå ´åã¯
æ¥ç¶å¯¾è±¡ãµã¼ãã¼ãä¸ã¤ãããªãã®ã§ä¸¦åå¦çãå
¨ãã§ããªããªãã¾ãããªã®ã§
ãã®è¨å®ã使ãäºã«ãã£ã¦ãæ¯åæ¥ç¶ãè¡ãããã«ããã¨ããããã§ãã
=cut
( run in 0.577 second using v1.01-cache-2.11-cpan-a1f116cd669 )