diff --git a/code/app/task/crawler/zw/Scheduler.php b/code/app/task/crawler/zw/Scheduler.php index bae5f14..5f62de5 100644 --- a/code/app/task/crawler/zw/Scheduler.php +++ b/code/app/task/crawler/zw/Scheduler.php @@ -301,7 +301,7 @@ class Scheduler return; } - $arrChapterPageList = $Site->getChapterPageList($arrData['filter']); + $arrChapterPageList = $Site->getChapterPageList($arrData['filter'],$arrData['n_id']); $arrNextPageFilterList = []; foreach ($arrChapterPageList as $ChapterPage) { diff --git a/code/app/task/crawler/zw/page/Site.php b/code/app/task/crawler/zw/page/Site.php index 7b214f4..94366ec 100644 --- a/code/app/task/crawler/zw/page/Site.php +++ b/code/app/task/crawler/zw/page/Site.php @@ -289,12 +289,10 @@ class Site * @param array $arrData * @return ChapterPage[] */ - public function getChapterPageList(array $arrData): array + public function getChapterPageList(array $arrFilter,int $intNid = 0): array { $QueueManage = QueueManage::getInstance(); - $arrFilter = $arrData['filter']; - /** @var ChapterPage[] */ $arrChapterPage = []; @@ -320,19 +318,23 @@ class Site if (!preg_match($strPattern, $strContent, $arrMatches)) { var_dump(mb_substr($strContent, 0, 300)); // 防止输出太长 - if ( - str_contains($strContent, '超过并发限制') || - str_contains($strContent, 'Timeout') || - str_contains($strContent, '403 Forbidden') - ) { - // 重新推送任务 - $arrTask = [ - 'callback' => [Zw74Scheduler::class, 'getChapterInfo'], - 'data' => $arrData, - ]; - $QueueManage->set($arrTask); + if($intNid>0){ + if ( + str_contains($strContent, '超过并发限制') || + str_contains($strContent, 'Timeout') || + str_contains($strContent, '403 Forbidden') + ) { + // 重新推送任务 + $arrTask = [ + 'callback' => [Zw74Scheduler::class, 'getChapterInfo'], + 'data' => [ + 'n_id' => $intNid, + 'filter' => $arrFilter, + ], + ]; + $QueueManage->set($arrTask); + } } - continue; }