thinkphpʵÏÖ˳ÐòÌí¼ÓÐÐÁÐ
Ò»¡¢Ç°ÑÔ
Ëæ×Å»¥ÁªÍøµÄÉú³¤ºÍÓ¦ÓóÌÐòµÄÒ»Ö±Ôö¶à£¬Ê¹ÃüÐÐÁÐÒѾ³ÉΪÁËÒ»ÏîºÜÊÇÖ÷ÒªµÄÊÖÒÕ¡£Í¨¹ýÐÐÁУ¬ÎÒÃÇ¿ÉÒÔ½«³ÁÖصÄʹÃüÒì²½´¦Àí£¬´Ó¶øÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺʹ¦ÀíЧÂÊ£¬Í¬Ê±Ò²¿ÉÒÔ×èֹһЩÇëÇóµÄÛÕ±ÕµÈÎÊÌâ¡£
ÔÚÒÔÍùµÄÓ¦ÓÃÖУ¬ÎÒÃÇ¿ÉÄÜ»áʹÓÃһЩµÚÈý·½µÄÐÐÁÐЧÀÍ£¬ÀýÈçRabbitMQ¡¢RedisµÈ¡£ËäÈ»£¬ÕâЩÐÐÁÐЧÀÍ×Ô¼ºÒѾºÜÊdzÉÊ죬¹¦Ð§Ò²ºÜÊÇÇ¿Ê¢£¬¿ÉÊÇÒ²±£´æһЩÈõµã£¬ÀýÈçÐèÒªÌØÁíÍâÉèÖá¢×°Öá¢Î¬»¤µÈ¡£ÔÚһЩСÐÍÓ¦Óó¡¾°ÖУ¬ÎÒÃÇ¿ÉÄÜ»áÏ£ÍûÄܹ»¿ìËÙµØʵÏÖÒ»¸ö¼òÆÓµÄÐÐÁÐÓ¦Óã¬Õâʱ¿ÉÒÔ˼Á¿Ê¹ÓÃPHPµÄ¿ò¼ÜÖ®Ò»¡ª¡ªThinkPHP¡£
¶þ¡¢ThinkPHPÖеÄÐÐÁÐ
ThinkPHPĬÈÏÒѾ¼¯³ÉÁËÐÐÁеĹ¦Ð§£¬¿ÉÒÔÔÚconfig.phpÉèÖÃÎļþÖоÙÐÐÉèÖá£ÔÚ¿ò¼ÜÖУ¬¿ÉÒÔͨ¹ýÒÔÏ´úÂëÀ´Ìí¼ÓÐÐÁÐʹÃü£º
Á¬Ã¦Ñ§Ï°¡°PHPÃâ·ÑѧϰÌõ¼Ç£¨ÉîÈ룩¡±£»
// ½¨ÉèÐÐÁй¤¾ß $queue = hinkqueueQueue::instance(); // Ìí¼ÓʹÃüµ½ÐÐÁÐ $job = new ppjobTest(); $queue->push($job);
µÇ¼ºó¸´ÖÆ
ÆäÖÐppjobTest()ΪÄã×Ô½ç˵µÄʹÃüÀ࣬ÐèÒª¼ÌÐø hinkqueueJob£¬²¢ÖØдhandle()ÒªÁ죬ÔÚhandle()ÒªÁìÖÐÌí¼ÓÏêϸµÄÓªÒµÂß¼¡£
Ìí¼ÓʹÃüµ½ÐÐÁв¢²»»áÁ¬Ã¦Ö´ÐУ¬¶øÊÇ»áÏȽ«Ê¹Ãü´æ´¢ÔÚʹÃüÐÐÁÐÖУ¬ÆÚ´ýÐÐÁÐÊÂÇéÀú³Ì¾ÙÐд¦Àí¡£ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Æô¶¯ÐÐÁÐÊÂÇéÀú³Ì£º
php think queue:work
µÇ¼ºó¸´ÖÆ
Æô¶¯Ö®ºó£¬ÐÐÁоÍ×îÏÈÊÂÇéÁË¡£Ëü»áÒ»Ö±µØÂÖѯÐÐÁÐÖÐÊÇ·ñÓÐеÄʹÃü£¬ÈôÊÇÓУ¬Ôò»áÈ¡³öʹÃü²¢Ö´ÐС£
Èý¡¢Ìí¼Ó˳ÐòʹÃü
¿ÉÊÇ£¬ÈôÊÇÎÒÃÇÏ£ÍûÌí¼ÓµÄʹÃüÊÇÓÐ˳ÐòµÄ£¬¼´±ØÐèÆÚ´ýÉÏÒ»¸öʹÃüÖ´ÐÐÍêºó£¬²Å»ªÖ´ÐÐÏÂÒ»¸öʹÃü£¬¸ÃÔõô°ìÄØ£¿ÕâʱÐèÒªÓõ½ÁíÒ»ÖÖÐÐÁСª¡ªË³ÐòÐÐÁС£
˳ÐòÐÐÁÐÊÇÒ»ÖÖÌØÊâµÄÐÐÁУ¬Ëü¿ÉÒÔ°ü¹Üÿ¸öʹÃü¶¼Æ¾Ö¤Ö¸¶¨µÄ˳ÐòÒÀ´ÎÖ´ÐС£ÔÚThinkPHPÖУ¬¿ÉÒÔͨ¹ýÒÔÏ´úÂëÀ´Ìí¼ÓÒ»¸ö˳ÐòʹÃü£º
// ½¨ÉèÐÐÁй¤¾ß $queue = hinkqueueQueue::instance(); // Ìí¼ÓʹÃüµ½Ë³ÐòÐÐÁÐ $job1 = new ppjobTest1(); $job2 = new ppjobTest2(); $queue->pushOrder($job1, 'queue1')->pushOrder($job2, 'queue2');
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃÇÌí¼ÓÁËÁ½¸ö˳ÐòʹÃü£¬»®·ÖÊÇTest1ºÍTest2£¬ËüÃÇÐèҪƾ֤ÐÐÁÐqueue1ºÍqueue2µÄ˳ÐòÖ´ÐС£ÈôÊÇÐÐÁÐÖÐÒѾÓÐÁËÏàÙÉÐÐÁÐÃûµÄʹÃü£¬ÔòÕâ¸öʹÃü¾Í»á¼ÓÈëµ½ÒÑÓÐÐÐÁеÄĩ⣬ÆÚ´ýÖ´ÐС£
ÔÚÏÖʵ¿ª·¢ÖУ¬ÎÒÃÇÒ²¿ÉÒÔƾ֤ÐèÇó¾ÙÐжþ´Î·â×°£¬ÒÔ±ãÔ½·¢ÎÞаµØʹÓÃ˳ÐòʹÃü¡£
ËÄ¡¢×ܽá
ͨ¹ýÒÔÉÏÏÈÈÝ£¬ÎÒÃÇÏàʶÁËÔõÑùÔÚThinkPHPÖÐÌí¼ÓÐÐÁÐʹÃü£¬°üÀ¨Í¨Ë×ʹÃüÎÂ˳ÐòʹÃü¡£Ë³ÐòʹÃü¿ÉÒÔ°ü¹ÜʹÃüƾָ֤¶¨Ë³Ðò¾ÙÐд¦Àí£¬ÌØÊâÊʺÏһЩÐèÒªÏȺó˳ÐòµÄʹÃü¡£ÔÚÏÖʵӦÓÃÖУ¬ÎÒÃÇƾ֤×Ô¼ºµÄÐèÇóÀ´Ñ¡ÔñºÏÊʵķ½·¨£¬ÒÔÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺʹ¦ÀíЧÂÊ¡£
ÒÔÉϾÍÊÇthinkphpʵÏÖ˳ÐòÌí¼ÓÐÐÁеÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡