å°ãåãŸã§ã¯ãGearmanãã¥ãŒãµãŒããŒãæäœããäžè¬çãªååã説æãã
çŽ æŽãããèšäºããããŸããã ç§ã¯ãã®è³æãç¶ããŠãå
·äœçãªå¿çšã®è©³çްãè£è¶³ããããšæããŸãïŒ
-ã€ã³ã¹ããŒã«ãšãµãŒããŒç®¡ç
-ãã¥ãŒç®¡ç-å¯èœãªããšã𿹿³
-Gearmanãšé£æºããããã®PECLããã³PEARã®PHPæ¡åŒµ
-ãµãŒããŒç£èŠ
-ã³ãŒãäŸ
-ãããã§ã®ããŒã¿è»¢é
-PHPã§ã®äžŠåã³ã³ãã¥ãŒãã£ã³ã°ã®ç·šæ
é¢çœãïŒ ã«ããããé¡ãããŸã
è³æã®æç€ºãé²ããåã«ãè³æã®åºæã説æããå¿
èŠããããŸãã ããã¯ãããã€ãã®ãããžã§ã¯ãïŒãã¹ãŠäœéã®ãªã¢ãŒããµã€ãã§ã®äœæ¥ã«é¢é£ããïŒã§ã®å®çšçãªã¢ããªã±ãŒã·ã§ã³ããã®ã³ã³ãã€ã«ã§ãããããã¥ã¡ã³ããšãã£ã¹ã«ãã·ã§ã³ããã®æç²ãããã€ãã®èгå¯ãšæœè±¡çãªèå¯ã§ãã ãã¡ãããäžæ£ç¢ºãç©è°ãéžã決å®ãç©è°ãéžãèãããããããããŸãã-äœè
ã¯ã©ããªæ¹å€ãèšæ£ã«ãæè¬ããã§ãããã
å
容
GearmanããŒã¿ã©ã€ããµã€ã¯ã«Gearmanã®ã€ã³ã¹ããŒã«ãšå¶åŸ¡ãµãŒããŒç¶æ
ç£èŠã®ã¢ãã³ãåèµ·åãããšãã®ãã¥ãŒã®éåœãã¥ãŒå
šäœããªã»ããããç¹å®ã®ã¿ã¹ã¯ã®ãã¥ãŒããªã»ããããŸãã¯ãŒã«ãŒã®åèµ·åGearmanãšé£æºããããã®PECLããã³REARã®PHPæ¡åŒµãã·Net_Gearmanãã¯ã«ã®ã¢ãã³PECL Gearmanãã€ã³ã¹ããŒã«ããæãç°¡åãªã¯ã©ã€ã¢ã³ããšã¯ãŒã«ãŒïŒ+ãããªïŒã¯ã©ã€ã¢ã³ããšã®éšåçãªããŒã¿è»¢éãšè¿œå ã®ããŒã¿äº€æïŒ+ãããªïŒããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ãšåªå
床Gearmanã䜿çšããPHPã§ã®äžŠåã³ã³ãã¥ãŒãã£ã³ã°ïŒ+ãããªïŒGearmanããŒã¿ã©ã€ããµã€ã¯ã«
詳现ã«å
¥ãåã«ããµãŒããŒã§ã®äœæ¥ãå床説æããŸãã
æãåçŽãªäŸã PHPã§f-andãåŒã³åºããŠå®è¡ããæ¹æ³ïŒ

ã€ãŸããªãã åãããã«ãªããŸãããããã¥ãŒãµãŒããŒã䜿çšããŠããŸãã

èŠããã«ã颿°ã®çµæ/ã¢ã¯ã·ã§ã³ãå¿
èŠãšããã¹ã¯ãªããïŒãã¯ã©ã€ã¢ã³ããïŒã¯ã颿°ã®ååãšãã®åŒæ°ããµãŒããŒã«ç»é²ïŒç»é²ïŒããŸã-ã¿ã¹ã¯ïŒãã¿ã¹ã¯ãïŒããµãŒããŒäžã«äœæãããŸãã
ãã®ååã®é¢æ°ïŒãworkerãïŒã®ãµãŒããŒã«ãã³ãã©ãŒãç»é²ãããŠãããçŸåšãã³ãã©ãŒã空ããŠããå ŽåãåŠççšã®ããŒã¿ãšé¢æ°ã®ååãã¿ã¹ã¯ïŒãjobãïŒã®åœ¢åŒã§éä¿¡ãããŸãã
ãã®ãããªé¢æ°ã®ã¯ãŒã«ãŒãç»é²ãããŠããªãããããžãŒã§ããå Žåãã¿ã¹ã¯ã¯ãã¥ãŒã«å
¥ããããåŠçãåŸ
æ©ããŸãã
åŠçåŸãã¯ãŒã«ãŒã¯è¿ããã®ãGearmanã«æž¡ããŸãã ãã¥ãŒãµãŒããŒã¯ãã©ã®ã¯ã©ã€ã¢ã³ããåãååãšãã®ãããªããŒã¿ã§ã¿ã¹ã¯ãç»é²ãããã調ã¹ãã¯ãŒã«ãŒã®çµæãããã«éä¿¡ããŸãïŒã¯ã©ã€ã¢ã³ããã¿ã¹ã¯ãããã¯ã°ã©ãŠã³ããšããŠç»é²ããªãã£ãå Žåã§ããã¿ã¹ã¯ãããã¯ã°ã©ãŠã³ããšããŠç»é²ãããŠããå Žåãã¯ã©ã€ã¢ã³ãã«ã¯äœãéä¿¡ãããŸããïŒ ã
ãã®åäœåçããããã«äœãç¶ããŸããïŒ
1. Gearmanã®
æäœã«ã¯ãã¯ã©ã€ã¢ã³ããã¿ã¹ã¯ãã¯ãŒã«ãŒããžã§ãã® 4ã€ã®ãªããžã§ã¯ããé¢ä¿ããŠã
ãŸã ã ãã¹ãŠã®ãªããžã§ã¯ãã®èª¬æã¯
ãªãã£ã¹ã«ãããŸãã PHPãµã€ã ã
2.éä¿¡ãããããŒã¿-ã¯ã©ã€ã¢ã³ããããµãŒããŒãžãããã³ã¯ãŒã«ãŒããè¿ãããäž¡æ¹-ããã¯1è¡ã®ã¿ã§ã1è¡ã®ã¿ã§ãã è€æ°ã®åŒæ°ãæž¡ãå¿
èŠãããå ŽåããŸãã¯æååã§ã¯ãªã-ããšãã°é
å-ã·ãªã¢ã«åãå¿
èŠã§ãã
ãã ããäžèšã®ãã¹ãŠã¯çãç¹°ãè¿ãã§ãã ææžããã³æ¢ã«å
¬éãããŠããè³æã ãã¥ã¢ã³ã¹ã
Gearmanã®ã€ã³ã¹ããŒã«ãšå¶åŸ¡
倧ããªããŒãºãããå Žåã¯ãWindowsã§GearmanãµãŒããŒãèµ·åã§ããŸããJavaã§ã®å®è£
ããããŸãã
https://launchpad.net/gearman-javaããããLinuxã§ã®äœæ¥ãæ€èšããŸãïŒæ¬¡ã®äŸã¯Debiançšã§ãïŒã
ãµãŒããŒã®ã€ã³ã¹ããŒã«ã¯ã¹ã ãŒãºã«å®è¡ãããæ©èœã¯ãããŸããã
aptitude install gearman-job-server
ã€ã³ã¹ããŒã«ãæ£åžžã«å®äºãããšããµãŒããŒã¯etc / init.d / gearman-job-serverããã·ã³ãã«ã§æç¢ºãªã³ãã³ãã§å¶åŸ¡ãããŸãã
{éå§| 忢| åèµ·å| 匷å¶ãªããŒã}
ãµãŒããŒã®ããã©ã«ãã®ãã¹ãã¯localhostãããŒãã¯4730ã§ã
ãµãŒããŒç¶æ
ç£èŠ
ãµãŒããŒã§äœãèµ·ãã£ãŠããã®ããåžžã«ç¢ºèªããå¿
èŠããããŸããç»é²ãããŠããã¿ã¹ã¯ããã¥ãŒã«ããã¿ã¹ã¯ã®æ°ãåã¿ã¹ã¯ã«ç»é²ãããŠããã¯ãŒã«ãŒã®æ°ã
ããã¯ã次ã®ã³ãã³ãã䜿çšããŠã³ã³ãœãŒã«ããå®è¡ã§ããŸãã
ïŒãšã³ãŒã¹ããŒã¿ã¹ïŒ| netcat 127.0.0.1 4730
ã®ã¢ãã³ãåèµ·åãããšãã®ãã¥ãŒã®éåœ
ããã«åé¡ãçºçããŸãïŒ
hara-kiriã§å®è¡äžã®ãµãŒããŒãåèµ·åãããšãå®è¡äžã®ãµãŒããŒã®ãã¥ãŒã¯ã©ããªããŸããïŒ
ããã©ã«ãã®ã€ã³ã¹ããŒã«ã§ã¯ããã¥ãŒã¯ã¡ã¢ãªã«ä¿åãããŸãããµãŒããŒãåèµ·åãããšãã¯ã©ã€ã¢ã³ãããµãŒããŒã«éä¿¡ãããã¹ãŠã®ã¿ã¹ã¯ããã£ã³ã»ã«ããããµãŒããŒäžã®ãã¹ãŠã®ã¯ãŒã«ãŒã®ç»é²ããã£ã³ã»ã«ãããŸãã åæã«ãã¯ãŒã«ãŒã«å¯ŸããŠããµãŒããŒãšã®æ¥ç¶ã倱ãããŸããããªã©ã®äŸå€ãçæãããŸãã
ãã¥ãŒã¯ããŒã¿ããŒã¹ã«ä¿åã§ããMySQLãPostgreSQLãSQLiteããµããŒããããŠããŸãã ãã®ãããªãã¥ãŒãæŽçããæ¹æ³ã¯ããªãã£ã¹ã§ããæžãããŠããŸãã ãŠã§ããµã€ãïŒ
http://gearman.org/index.php?id=manual:job_server#persistent_queuesãã¥ãŒãä¿åããŠãããµãŒããŒã®åèµ·åæã«ã¿ã¹ã¯ãã³ãã©ãŒïŒã¯ãŒã«ãŒïŒããµãŒããŒãã "è±èœ"ãããããã¯ãŒã«ãŒãåèµ·åããããã¯ãŒã«ãŒèªäœã§ãã®ãããªç¶æ³ãäºæž¬ããå¿
èŠãããããšã«æ³šæããŠãã ããã
ãã¥ãŒå
šäœããªã»ããããç¹å®ã®ã¿ã¹ã¯ã®ãã¥ãŒããªã»ããããŸã
ãã¥ãŒãããŒã¿ããŒã¹ã«ä¿åãããŠããªãå Žåãäžèšã®ããã«ãµãŒããŒãåèµ·åãããšããã¥ãŒå
šäœããªã»ãããããŸãã ãã¥ãŒãããŒã¿ããŒã¹ã«ä¿åãããŠããå ŽåããµãŒããŒã®åèµ·åã«å ããŠã察å¿ããããŒãã«ããã¹ãŠãŸãã¯éžæçã«ã¯ãªã¢ããå¿
èŠããããŸãã ãµãŒããŒãåèµ·åãããšãã¯ã©ã€ã¢ã³ããšã¯ãŒã«ãŒã®äž¡æ¹ã§äŸå€ãã¹ããŒãããããšãæãåºããŠãã ããã
ãã ãã1ã€ã®ã¿ã¹ã¯ã®ã¿ã®ãã¥ãŒããªã»ããããå¿
èŠãããå Žåã«ç¶æ³ãçºçããå¯èœæ§ããããŸãã äŸïŒ100ã®ãµã€ããè§£æãã1ã€ãå¿çã忢ãããã®ãµã€ãããããŒã¿ãåä¿¡ããããã«ãã¥ãŒã«1,000ã®ã¿ã¹ã¯ããããä»ã®ãã¹ãŠã®ãµã€ãããã®ããŒã¿ã¯åé¡ãªããã¥ãŒãµãŒããŒãä»ããŠåãå
¥ããããŸãã 忢ãããµã€ãã§ã®ã¿ãã¥ãŒãåé€ããå¿
èŠããããŸãã
ãããè¡ãæãç°¡åã§æãç°¡åãªæ¹æ³ã¯ããã¥ãŒãµãŒããŒã«åãååã®ã¿ã¹ã¯ãç»é²ããåœã®ã¯ãŒã«ãŒãéå§ããããšã§ãããã ããNULLãç©ºã®æååããŸãã¯å¥œããªãã®ããã°ããè¿ããŸããäž»ãªããšã¯é«éã§ãã ãã®ã¯ãŒã«ãŒã¯ãã¹ãŠã®ä¿çäžã®ã¿ã¹ã¯ãèš±å¯ãããã¥ãŒã¯ã¯ãªã¢ãããŸãã
ã¯ãŒã«ãŒã®åèµ·å
ãªããããå¿
èŠãªã®ã§ããããïŒ ããŠãåŽåè
ãåçµããŠããçãã®ãªãæãããªç¶æ³ã«å ããŠããã1ã€ãéåžžã«é »ç¹ã«ãããŸãã
ç¶æ³ïŒã¯ãŒã«ãŒãå®è¡ãããŠããããµãŒããŒã«ã¿ã¹ã¯ãç»é²ããŸããã ãã®æç¹ã§ã¯ãŒã«ãŒã³ãŒãã倿Žãããšãã©ãã ãä¿åããŠããã¿ã¹ã¯ãç»é²ãããæç¹ã§ãã¥ãŒãµãŒããŒããã®ã³ãŒããåŠçãããŸãã
ã³ãŒãã®å€æŽãæå¹ã«ããã«ã¯ãã€ãŸãããµãŒããŒã®ã¿ã¹ã¯ãæ¢ã«å€æŽãããã³ãŒãã§åŠçããã«ã¯ãã¯ãŒã«ãŒãåèµ·åããå¿
èŠããããŸããã€ãŸããçŸåšã®ã¯ãŒã«ãŒã®ã¹ã¯ãªããã忢ããŠåå®è¡ããå¿
èŠããããŸãã ã¡ãœããã¯ç°¡åã§ããbashã¹ã¯ãªããã䜿çšããŠãæåã§exit_workerãªã©ã®ã¯ãŒã«ãŒã§é¢æ°ãåŠçããã¯ã©ãŠã³ãªã©ãã颿°ãèµ·åããŸãã
Gearmanãšé£æºããããã®PECLããã³REARã®PHPæ¡åŒµ
PHPã§Gearmanãã¥ãŒãµãŒããŒãæäœããã«ã¯ã
pecl gearmanãš
pear Net_Gearmanã® 2ã€ã®æ¡åŒµãªãã·ã§ã³ã䜿çšã§ããŸãã
ãããã®æ¡åŒµæ©èœã«ã¯æ ¹æ¬çãªéãããããŸãã
ãã·Net_Gearman
pear Net_Gearmanã¯ãããã€ãã®phpãã¡ã€ã«ã§ãã ãããŠããã ãã§ãã ãµãŒããŒãžã®ã€ã³ã¹ããŒã«ã¯éåžžã«ç°¡åã§ãã
pear install Net_Gearmanãã£ãã«ïŒ//pear.php.net/Net_Gearman-0.2.3
ãµãŒããŒã«ã€ã³ã¹ããŒã«ããããšãã§ããŸãããã¢ãŒã«ã€ããè§£åããæ¥ç¶accãå®è£
ããã ãã§ãã ã¯ã©ã¹ãšããã ãã§ã-äŸãã°ãããã䜿çšããããšãã§ããŸã
function __autoload($className){
ã¡ãªã¿ã«ãããã«ãããåãDenwerãŸãã¯OpenServerã䜿çšããŠãPHPã§Gearmanãæäœã§ããŸãã
çŸåšã®ããŒãžã§ã³ã¯2009幎ã®ã¢ã«ãã¡ãªãªãŒã¹ã§ãã ããããããã¯æãããããšã§ã¯ãããŸãããå¿
èŠãªãã¡ã€ã«ãç·šéããæéã¯ãªãã远å ã®ã³ã³ããŒãã³ã/ã©ã€ãã©ãªã¯äœ¿çšãããŸããã
æ¥ä»ã«ãããããããã©ã€ãã©ãªã¯php5.3ã§æ©èœããŸã*ä¿®æ£ã¯äžèŠã§ãã
åé¡ã¯ããã®ãã¹ãŠã®å¹žçŠãGearmanãµãŒããŒãšã©ã®ããã«çžäºäœçšããããšããããšã§ãã ãœã±ãããä»ããŠããµãŒããŒã«ã³ãã³ããéä¿¡ããŸãïŒ
å
¬åŒãµã€ãã®ãµãŒããŒãšã®ããåãã®èª¬æã¯ãã¡ãã§ãïŒ
pear Net_Gearmanã®éèŠãªè©³çŽ°ã«æ³šæããŠãã ãããã©ã€ãã©ãªã«ã¯ãµãŒããŒãç£èŠããïŒéšåçã«ïŒãµãŒããŒã管çããææ®µããããŸããããã«ãããããšãã°äžèšã®ç£èŠçšã¹ã¯ãªãããäœæã§ããŸãã
PECLã®ã¢ãã³
ãã¹ãŠã®å©ç¹ã«ãããããããpear Net_Gearmanã©ã€ãã©ãªã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯è²§åŒ±ã§ãã©ããã«çœ®ããšããåä»ã§ãã ããã«ãIDE-ããšãã°phpStormã«ã¯Net_Gearmanã¯ã©ã¹ãå«ãŸããŠãããïŒ
䟿å©ãªäœæ¥ã®ããã«
æŸèæãç· ãã
å¿
èŠããããŸã ïŒãpecl gearmanã¯äœæ¥ã«é©ããŠããŸãã
pecl gearmanãšpear Net_gearmanã®äž»ãªéãã¯ãpecl gearmanã¯ãµãŒããŒãšçŽæ¥å¯Ÿè©±ããªãããšã§ããããã¯libgearman Cã©ã€ãã©ãªã®ã©ãããŒã§ãã
PECL Gearmanãã€ã³ã¹ããŒã«ãã
ç§ã¯ãããããã«å¥œãã«ãªãããã§ãïŒ
PECLã€ã³ã¹ããŒã«ã®ã¢ãã³
ããããããã¯ããŸããããŸããã ã€ã³ã¹ããŒã«ã®æåŸã«ãlibgearmanããŒãžã§ã³0.21以éãå¿
èŠã§ãããšããã¡ãã»ãŒãžã衚瀺ãããŸãããã®ãããªã©ã€ãã©ãªã®ã¢ã»ã³ããªã«ã¯ãããã«ã¢ã¯ã·ã§ã³ãããããã¹ãŠãæåããªãå¯èœæ§ããããŸãã
ã€ã³ã¿ãŒãããã§ã¯ãpecl-gearman-0.7.0ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããã®å€ãã®æšå¥šäºé
ããããŸããããã°ããããŸã-ã»ã°ã¡ã³ããŒã·ã§ã³ãã©ãŒã«ããšã©ãŒã§ã¯ã©ãã·ã¥ããå¯èœæ§ãé«ããªããŸãã
ããã€ãã®ãã¹ãã«ãããããŒãžã§ã³0.8.1ãã€ã³ã¹ããŒã«ããéã«åé¡ãªãå®å®ããŠåäœããããšãããããŸããã
ãµãŒããŒããéå§ããdebian6 / php5.3 *ããŒããããã®ã€ã³ã¹ããŒã«é åºã¯æ¬¡ã®ãšããã§ãïŒdebian7 / php5.4ã«ã€ããŠã¯ã
ãã®åºçç©ãåç
§ããŠãã ããïŒã
aptitude install gearman-job-server aptitude install php5-dev aptitude install php-pear aptitude install make aptitude install libgearman-dev cd /tmp pecl download gearman-0.8.1 tar -xvf gearman-0.8.1.tgz cd gearman-0.8.1 phpize ./configure make make test make install echo 'extension=gearman.so' > /etc/php5/conf.d/gearman.ini
ããã§ãã©ã€ãã©ãªã®ãã¹ãŠã®çŸãããå®éã®ãããžã§ã¯ãã§å®å
šã«äœ¿çšã§ããŸãã IDEã«ã¯pecl gearmanã®ã¯ã©ã¹ãå«ãŸããŠããããããã以äžã®ã¢ã¯ã·ã§ã³ã¯äžèŠã§ãã 以äžã®ãã¹ãŠã®äŸã§ã¯ãpecl gearmanæ¡åŒµã䜿çšããŠããŸãã
äŸ
æãç°¡åãªã¯ã©ã€ã¢ã³ããšã¯ãŒã«ãŒ
ã客æ§
<?php $client = new GearmanClient(); $client->addServer('192.168.68.4'); $client->setTimeout(29000); $haveGoodServer = $client->echo(''); var_dump($haveGoodServer); $data = 'slon yooo'; $res = $client->do('function_revert_string_and_caps', $data); echo $res;
åŽåè
<?php $worker = new GearmanWorker(); $worker->addServer('192.168.68.4'); $worker->addFunction('function_revert_string_and_caps', 'revCaps'); $worker->work();
ãµã³ãã«åç»
ã¯ã©ã€ã¢ã³ããšã®éšåçãªããŒã¿è»¢éããã³è¿œå ã®ããŒã¿äº€æ
ã¯ã©ã€ã¢ã³ãã§doæäœã䜿çšããããšã¯å¿
ããã䟿å©ã§ã¯ãããŸãããå€ãã®å ŽåãåçŽãªã³ãŒã«ããã¯fã䜿çšããŠãã¿ã¹ã¯ã®è¿œå ãšãµãŒããŒããã®ããŒã¿ã®åŠçã䜿çšããããšããå§ãããŸãã
ããã«ãããŒã¿ãããŒãåäœã§éä¿¡ãããå ŽåãåŠçãããããŒãã®æ°ã衚瀺ããããšã¯çã«ããªã£ãŠããŸãïŒããšãã°ãé²è¡ç¶æ³ããŒãªã©ïŒã
ã客æ§
<?php $client = new GearmanClient(); $client->addServer('192.168.68.4'); $data = ''; $client->addTask('function_serial_send', $data); $client->setCreatedCallback('createTask'); function createTask(GearmanTask $task){ echo "Start data from ".$task->jobHandle()."\n"; } $client->setDataCallback('getData'); function getData(GearmanTask $task){ echo "received:".$task->data()."\n\n"; } $client->setCompleteCallback('stopTask'); function stopTask(){ echo "task Stop\n"; exit; } $client->setStatusCallback('getStatus'); function getStatus(GearmanTask $task){ echo "Handled: ".$task->taskNumerator() / $task->taskDenominator()*(100)."%\n"; } $client->runTasks();
åŽåè
<?php $worker = new GearmanWorker(); $worker->addServer('192.168.68.4'); $worker->addFunction('function_serial_send', 'sendDataAndStatus'); while($worker->work()){} function sendDataAndStatus(GearmanJob $job){ $arr = array('one','two', 'three', 'four', 'five'); $i = 1; foreach ($arr as $diggo){ $job->sendStatus($i, count($arr)); $job->sendData($diggo); echo "send data: ".$diggo, "\n"; $i++; sleep(1); } $job->sendComplete(''); }
ãã®äŸã®å®è¡ã®ãããªïŒ
ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ãšåªå
床
ã¿ã¹ã¯ã®ã¹ããŒã¿ã¹ã¯éåžžãŸãã¯ããã¯ã°ã©ãŠã³ãïŒåæ/éåæïŒã§ããããã®å®è¡ã®åªå
床ã¯ã¯ã©ã€ã¢ã³ãã§èšå®ãããŸãã ã¿ã¹ã¯ãããã¯ã°ã©ãŠã³ããšããŠãµãŒããŒã«è¿œå ãããå Žåãã¯ã©ã€ã¢ã³ãã¯å®éã«ãµãŒããŒã«åçŽã«ãã¹ããŒããããã以äžã®éåœã«ã¯é¢å¿ããããŸããã ã¿ã¹ã¯ãæ£åžžãªå Žåãã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒããã®å®äºçµæãæåŸ
ããŸãã
ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ã®å Žåããã¬ãã£ãã¯ã¹ã®ããã¯ã°ã©ãŠã³ãã䜿çšãããŸãã
åªå
é äœã«ã¯3ã€ã®ã¬ãã«ããããŸã-éåžžïŒãã¬ãã£ãã¯ã¹ãªãïŒãäœ/髿¯çã äœ/é«ãããšãã°addTaskHighBackgroundã¡ãœãã-ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ãé«ãåªå
床ã§è¿œå ããŸãã
ããã¯ãã¹ãŠ
ãªãã£ã¹ã§ããæãããŠã
ãŸãã GearmanClientã®
ããã¥ã¡ã³ãGearmanã䜿çšããPHPã§ã®äžŠåã³ã³ãã¥ãŒãã£ã³ã°
åèã«ã¯ãã¡ãããäžçªçŸå³ããã§ãã
ãã®äŸã®ã³ãŒãã¯ããããªã¥ãŒã ããããããæäŸãããŠããŸããããè»äºçãªãã®ã¯äœããããŸãããã¯ã©ã€ã¢ã³ãã¯800以äžã®ã¿ã¹ã¯ããã¥ãŒãµãŒããŒã«è¿œå ãã4ã€ã®ã¯ãŒã«ãŒãã¿ã¹ã¯ãåŠçããŸãã
ã¿ã¹ã¯èªäœã¯ãYandex Translate APIã䜿çšããŠããã¹ãã®äžéšã翻蚳ããŠããŸããã¿ã¹ã¯å
šäœã¯ããŽãããã¡ãŒã¶ãŒã®æ¬ããã·ã¢èªãããŠã¯ã©ã€ãèªã«ç¿»èš³ããŠããŸãã
ãããªã¯æ¬¡ã®ãšããã§ãã