在 Yii2 队列扩展 中报错:The process “‘/usr/local/php/bin/php’ ‘/mcloud/www/ccp_api/yii’ ‘pub-article-queue/exec’ ‘103’ ‘300’ ‘1’ ‘3555’ ‘–color='” exceeded the timeout of 300 seconds.
1、在 Yii2 队列扩展 中报错:The process “‘/usr/local/php/bin/php’ ‘/mcloud/www/ccp_api/yii’ ‘pub-article-queue/exec’ ‘103’ ‘300’ ‘1’ ‘3555’ ‘–color='” exceeded the timeout of 300 seconds.。如图1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [103] common\jobs\PubArticleJob (attempt: 1, PID: 3555) is finished with error: Symfony\Component\Process\Exception\ProcessTimedOutException: The process "'/usr/local/php/bin/php' '/mcloud/www/ccp_api/yii' 'pub-article-queue/exec' '103' '300' '1' '3555' '--color='" exceeded the timeout of 300 seconds. in /mcloud/www/ccp_api/vendor/symfony/process/Process.php:1213 Stack trace: #0 /mcloud/www/ccp_api/vendor/symfony/process/Process.php(425): Symfony\Component\Process\Process->checkTimeout() #1 /mcloud/www/ccp_api/vendor/symfony/process/Process.php(249): Symfony\Component\Process\Process->wait() #2 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/cli/Command.php(193): Symfony\Component\Process\Process->run(Object(Closure)) #3 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/cli/Command.php(126): yii\queue\cli\Command->handleMessage('103', 'O:25:"common\\jo...', '300', '1') #4 [internal function]: yii\queue\cli\Command->yii\queue\cli\{closure}('103', 'O:25:"common\\jo...', '300', '1') #5 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/cli/Queue.php(144): call_user_func(Object(Closure), '103', 'O:25:"common\\jo...', '300', '1') #6 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/drivers/redis/Queue.php(61): yii\queue\cli\Queue->handleMessage('103', 'O:25:"common\\jo...', '300', '1') #7 [internal function]: yii\queue\redis\Queue->yii\queue\redis\{closure}(Object(Closure)) #8 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/cli/Queue.php(117): call_user_func(Object(Closure), Object(Closure)) #9 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/drivers/redis/Queue.php(68): yii\queue\cli\Queue->runWorker(Object(Closure)) #10 /mcloud/www/ccp_api/vendor/yiisoft/yii2-queue/src/drivers/redis/Command.php(56): yii\queue\redis\Queue->run(false) #11 [internal function]: yii\queue\redis\Command->actionRun() #12 /mcloud/www/ccp_api/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) #13 /mcloud/www/ccp_api/vendor/yiisoft/yii2/base/Controller.php(181): yii\base\InlineAction->runWithParams(Array) #14 /mcloud/www/ccp_api/vendor/yiisoft/yii2/console/Controller.php(184): yii\base\Controller->runAction('run', Array) #15 /mcloud/www/ccp_api/vendor/yiisoft/yii2/base/Module.php(534): yii\console\Controller->runAction('run', Array) #16 /mcloud/www/ccp_api/vendor/yiisoft/yii2/console/Application.php(181): yii\base\Module->runAction('pub-article-que...', Array) #17 /mcloud/www/ccp_api/vendor/yiisoft/yii2/console/Application.php(148): yii\console\Application->runAction('pub-article-que...', Array) #18 /mcloud/www/ccp_api/vendor/yiisoft/yii2/base/Application.php(392): yii\console\Application->handleRequest(Object(yii\console\Request)) #19 /mcloud/www/ccp_api/yii(23): yii\base\Application->run() #20 {main}. |
2、在队列:pub-article-queue 中运行时间超过了 300 秒的超时时间限制。查看队列:pub-article-queue 的配置项。作业处理的最长时间,单位(秒),其值等于 300 秒。
1 2 3 4 5 6 7 8 9 10 | 'pubArticleQueue' => [ // 发布文章队列 'class' => 'yii\queue\redis\Queue' , 'redis' => 'redis' , // Redis 连接组件或它的配置 'channel' => 'cpa:queue:pub:article' , // 队列键前缀 'ttr' => 5 * 60, // 作业处理的最长时间,单位(秒) 'attempts' => 1, // 作业处理的最大尝试次数 'on afterExec' => [ 'common\components\queue\PubArticleEventHandler' , 'afterExec' ], // 每次成功执行作业后 'on afterError' => [ 'common\components\queue\PubArticleEventHandler' , 'afterError' ], // 在作业执行期间发生未捕获的异常时 'as log' => 'yii\queue\LogBehavior' , ], |
3、分析代码,初步怀疑是某个方法存在死循环,在方法中打印输出日志文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * @param $basePath * @param $relativePath * @return array */ public static function zoomFile( $basePath , $relativePath ){ @ file_put_contents (Yii::getAlias( '@runtime' ) . '/common-services-WxArticleService-zoomFile-relativePath-0-' . microtime(true) . '-' . mt_rand() . '.txt' , print_r( filesize ( $basePath . $relativePath ), true), FILE_APPEND | LOCK_EX); // 获取等比例缩放图 按照指定的宽度缩放 $contentEqCompressImage = ImageManagerService::getContentEqCompressImage( $basePath , $relativePath , 960, 'wx' ); if ( filesize ( $contentEqCompressImage [ 'absolute_url' ]) / 1024 / 1024 > WxApi::IMG_SIZE) { self::zoomFile( $contentEqCompressImage [ 'bath_path' ], $contentEqCompressImage [ 'relative_path' ]); } @ file_put_contents (Yii::getAlias( '@runtime' ) . '/common-services-WxArticleService-zoomFile-relativePath-1-' . microtime(true) . '-' . mt_rand() . '.txt' , print_r( filesize ( $contentEqCompressImage [ 'absolute_url' ]), true), FILE_APPEND | LOCK_EX); return $contentEqCompressImage ; } |
4、查看日志文件列表如下,确定是死循环,无限地运行此方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654458.9219-1750979813.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.0625-1831884460.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.1974-463273601.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.3297-919543675.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.4673-1269097860.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.5992-1943098976.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.7392-216079189.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654459.8643-1638931132.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.0062-423432329.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.1336-1098374207.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.2586-415748258.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.4237-575533057.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.5654-288957913.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.7071-1133068454.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.8422-1242355308.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654460.9789-9457376.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.1175-2060694234.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.2496-541989633.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.3765-878062054.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.5172-1277280564.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.6538-1127469764.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.8073-751096802.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654461.9708-517915729.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.0926-1968281916.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.2176-1607878648.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.3476-193020564.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.4664-1607338781.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.5832-287954690.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.7004-1764170938.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.8372-964892149.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654462.9685-1374806731.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.1074-2019478455.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.2326-580727938.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.3703-1746740924.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.51-1173416615.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.654-245574664.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.785-1966035946.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654463.9282-401315863.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.0551-1528211151.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.197-457782281.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.3438-1548268735.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.4882-1878770225.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.6303-638953717.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.7698-738392284.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654464.9036-657677212.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.0422-1015158770.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.1729-12482654.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.3266-1567483898.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.465-1980251142.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.5879-665123006.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.7257-51655869.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654465.8668-1708965469.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.0006-1673619092.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.1367-799767428.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.2712-1380864922.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.4693-194311921.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.6085-29689994.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.7474-992298987.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654466.8929-449058410.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.0261-2035107847.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.1665-149744013.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.3057-250525434.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.4259-1969764702.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.5645-1144163093.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.706-1340334251.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.833-1392913915.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654467.9614-1472869952.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.1118-1023320156.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.2498-1388667642.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.3716-1240386686.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.4934-44793397.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.6219-1404370653.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.7611-524246945.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654468.894-957707083.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.0359-17434399.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.1776-682402104.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.312-1000574445.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.4503-445348410.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.5939-1525660465.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.7302-1692466072.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654469.8693-1257085507.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654470.0088-1755524707.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654470.1474-1973165486.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654470.281-1978075478.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654470.4243-1399205613.txt -rw-r--r-- 1 root root 7 Jul 30 22:14 common-services-WxArticleService-zoomFile-relativePath-0-1627654470.5636-231967638.txt |
5、重新编辑此方法,以避免死循环。未再报错超时的问题。如图2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /** * @param $basePath * @param $relativePath * @return array */ public static function zoomFile( $basePath , $relativePath ){ // 获取等比例缩放图 按照指定的宽度缩放 $contentEqCompressImage = ImageManagerService::getContentEqCompressImage( $basePath , $relativePath , 960, 'wx' ); if ( filesize ( $contentEqCompressImage [ 'absolute_url' ]) / 1024 / 1024 > WxApi::IMG_SIZE) { $contentEqCompressImage = ImageManagerService::getContentEqCompressImage( $basePath , $relativePath , 720, 'wx' ); if ( filesize ( $contentEqCompressImage [ 'absolute_url' ]) / 1024 / 1024 > WxApi::IMG_SIZE) { $contentEqCompressImage = ImageManagerService::getContentEqCompressImage( $basePath , $relativePath , 480, 'wx' ); } } return $contentEqCompressImage ; } |
近期评论