This commit is contained in:
Default
2025-05-05 17:28:05 +08:00
parent 2060703010
commit d9bb8b727f
11 changed files with 1738 additions and 10 deletions

View File

@@ -6,7 +6,9 @@ namespace app\task\crawler\custom;
use app\model\ChapterModel;
use app\model\CustomCrawlerModel;
use app\model\NovelModel;
use app\task\crawler\custom\page\Site;
use GuzzleHttp\Client;
use microserver\QueueManage;
use storage\StorageCore;
@@ -22,12 +24,20 @@ class Scheduler
*/
protected $QueueManage = NULL;
/**
* Undocumented variable
*
* @var NovelModel
*/
protected $NovelModel = NULL;
/**
* Undocumented function
*/
public function __construct()
{
$this->QueueManage = new QueueManage();
$this->QueueManage = QueueManage::getInstance();
$this->NovelModel = NovelModel::getInstance();
}
/**
@@ -55,7 +65,7 @@ class Scheduler
switch ($CustomCrawlerModel->cc_code) {
case 'PULL_WEN_XUE_GUAN':
$arrTask = [
'callback' => [self::class, 'createCrawlWenXueGuanTask'],
'callback' => [WenXueWang::class, 'createCrawlWenXueGuanTask'],
'data' => [
'cc_data' => $CustomCrawlerModel->cc_data
],
@@ -67,10 +77,4 @@ class Scheduler
$this->QueueManage->set($arrTask);
}
}
public function createCrawlWenXueGuanTask(array $arrData)
{
$arrCcData = json_decode($arrData['cc_data'], true);
print_r($arrCcData);
}
}

View File

@@ -0,0 +1,62 @@
<?php
declare(strict_types=1);
namespace app\task\crawler\custom;
use app\model\ChapterModel;
use app\model\CustomCrawlerModel;
use app\model\NovelModel;
use app\task\crawler\custom\page\Site;
use app\task\crawler\wenxuewang\Scheduler as WxwScheduler;
use app\task\crawler\zw\page\NovelPage;
use GuzzleHttp\Client;
use microserver\QueueManage;
use storage\StorageCore;
/**
* @mixin think\Model
*/
class WenXueWang
{
/**
* Undocumented variable
*
* @var \microserver\QueueManage
*/
protected $QueueManage = NULL;
/**
* Undocumented variable
*
* @var NovelModel
*/
protected $NovelModel = NULL;
/**
* Undocumented function
*/
public function __construct()
{
$this->QueueManage = QueueManage::getInstance();
$this->NovelModel = NovelModel::getInstance();
}
public function createCrawlWenXueGuanTask(array $arrData)
{
$arrCcData = json_decode($arrData['cc_data'], true);
foreach ($arrCcData as $intNSourceId) {
$arrTask = [
'callback' => [WxwScheduler::class, 'getNovelInfo'],
'data' => [
[
'n_source_id' => $intNSourceId,
'page' => 0,
]
],
];
$this->QueueManage->set($arrTask);
}
}
}