debug
This commit is contained in:
90
code/app/task/module/Listen.php
Normal file
90
code/app/task/module/Listen.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\task\module;
|
||||
|
||||
use minserver\ProcessSanitizer;
|
||||
use minserver\QueueManage;
|
||||
|
||||
class Listen
|
||||
{
|
||||
/**
|
||||
* 监听队列1代理
|
||||
*
|
||||
* @param \Swoole\Process $Process
|
||||
* @return void
|
||||
*/
|
||||
static public function innerConsume(\Swoole\Process $Process)
|
||||
{
|
||||
return self::innerConsumeCore(1);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 监听队列2代理
|
||||
*
|
||||
* @param \Swoole\Process $Process
|
||||
* @return void
|
||||
*/
|
||||
static public function innerConsume02(\Swoole\Process $Process)
|
||||
{
|
||||
return self::innerConsumeCore(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听队列
|
||||
*
|
||||
* @param \Swoole\Process $Process
|
||||
* @return void
|
||||
*/
|
||||
static private function innerConsumeCore(int $intIndex = 1)
|
||||
{
|
||||
|
||||
ProcessSanitizer::destructConnectSource();
|
||||
|
||||
$arrConfig = config('task.queue');
|
||||
|
||||
$intLimit = $arrConfig[$intIndex]['exec_num'];
|
||||
|
||||
$QueueManage = new QueueManage($intIndex);
|
||||
|
||||
return self::excuteTask($QueueManage, $intLimit);
|
||||
}
|
||||
|
||||
/**
|
||||
* 队列任务消费
|
||||
*
|
||||
* @param \Swoole\Process $Process
|
||||
* @return void
|
||||
*/
|
||||
static private function excuteTask(QueueManage $QueueManage, $intLimit)
|
||||
{
|
||||
while ($intLimit > 0) {
|
||||
$intLimit--;
|
||||
try {
|
||||
$strData = $QueueManage->get();
|
||||
if (empty($strData)) {
|
||||
sleep(1);
|
||||
continue;
|
||||
}
|
||||
$arrData = json_decode($strData, true);
|
||||
if (!is_array($arrData)) {
|
||||
echo '监听Redis队列读取到异常无法解析的数据[' . $strData . ']' . PHP_EOL;
|
||||
continue;
|
||||
}
|
||||
$Class = new $arrData['callback'][0];
|
||||
$Class->{$arrData['callback'][1]}($arrData['data']);
|
||||
unset($Class);
|
||||
} catch (\Throwable $t) {
|
||||
$strData = $strData ?? '';
|
||||
echo date('Y-m-d H:i:s') . ':出现致命错误需要处理' . PHP_EOL .
|
||||
' 队列数据:' . $strData . PHP_EOL .
|
||||
' 文件:' . $t->getFile() . PHP_EOL .
|
||||
' 行数:' . $t->getLine() . PHP_EOL .
|
||||
' 错误描述:' . $t->getMessage() . PHP_EOL .
|
||||
' 堆栈跟踪:' . $t->getTraceAsString() . PHP_EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,32 +5,18 @@ declare(strict_types=1);
|
||||
namespace app\task\module;
|
||||
|
||||
use app\model\PlanTaskModel;
|
||||
use app\task\collection\ailisi\XiaoShuoCol;
|
||||
use app\task\collection\biquxs\BiquxsXiaoShuoCol;
|
||||
use app\task\collection\ccc5\XiaoShuo5cccCol;
|
||||
use app\task\collection\novel\Zw630XiaoShuoCol;
|
||||
use app\task\collection\novelone\NovelJiuYuFanXianCol;
|
||||
use app\task\collection\novelone\NovelWenXueGuanCol;
|
||||
use app\task\collection\tianlai\TianLaiXiaoShuoCol;
|
||||
use app\task\collection\seo\GenerateSiteMapCol;
|
||||
use app\task\collection\seo\GenerateSiteMapNovel;
|
||||
use app\task\collection\seo\GenerateSiteMapNovelZw;
|
||||
use app\task\collection\seo\GenerateSiteMapNovelSk;
|
||||
use app\task\collection\visitlogs\ContentStatsCol;
|
||||
use app\task\collection\dadi\DaDiDianyingCol;
|
||||
use app\task\collection\heimuer\HeiMuErYingShiCol;
|
||||
use app\task\collection\yzzy\YouZhiYingShiCol;
|
||||
use app\task\core\TaskCore;
|
||||
use app\task\logic\SystemLogic;
|
||||
use app\task\collection\zw630\Zw630Col;
|
||||
use minserver\QueueManage;
|
||||
use minserver\ProcessSanitizer;
|
||||
|
||||
|
||||
class PlanTask
|
||||
{
|
||||
public static function scanPlanTask($arrData)
|
||||
{
|
||||
SystemLogic::destructConnectSource();
|
||||
ProcessSanitizer::destructConnectSource();
|
||||
|
||||
$PlanTaskAll = PlanTaskModel::where('pt_enable', 1)->where('site_id', config('app.default_app_id'))->select();
|
||||
$PlanTaskAll = PlanTaskModel::where('pt_enable', 1)->select();
|
||||
|
||||
foreach ($PlanTaskAll as $PlanTask) {
|
||||
|
||||
@@ -41,53 +27,11 @@ class PlanTask
|
||||
$PlanTask->save();
|
||||
|
||||
switch ($PlanTask->pt_code) {
|
||||
|
||||
case 'PULL_XIAOSHUO':
|
||||
self::pullXiaoShuo();
|
||||
|
||||
case 'PULL_630_ZW_NOVEL':
|
||||
self::pull630ZwNovel();
|
||||
break;
|
||||
case 'PULL_TIANLAIXIAOSHUO':
|
||||
self::pullTianLaiXiaoShuo();
|
||||
break;
|
||||
case 'PULL_BIQUXSXIAOSHUO':
|
||||
self::pullBiquxsXiaoShuo();
|
||||
break;
|
||||
case 'PULL_5CCCXIAOSHUO':
|
||||
self::pull5cccXiaoShuo();
|
||||
break;
|
||||
case 'PULL_DADI_DIANYHHING':
|
||||
self::pullDadiYingshi();
|
||||
break;
|
||||
case 'PULL_HEI_MUER':
|
||||
self::pullHeiMuEr();
|
||||
break;
|
||||
case 'PULL_YOUZHI':
|
||||
self::pullYouZhiZiYuan();
|
||||
break;
|
||||
case 'PULL_TONJI_HUIZON':
|
||||
self::AddTongJiHuizon();
|
||||
break;
|
||||
case 'GENERATE_SITEMAP':
|
||||
self::generateSiteMap();
|
||||
break;
|
||||
case 'NOVEL_GENERATE_SITEMAP':
|
||||
self::generateNovelSiteMap();
|
||||
break;
|
||||
case 'NOVELZW_GENERATE_SITEMAP':
|
||||
self::generateSiteMapNovelZw();
|
||||
break;
|
||||
case 'NOVEL_SK_GENERATE_SITEMAP':
|
||||
self::generateSiteMapNovelSk();
|
||||
break;
|
||||
case 'PULL_630ZWXIAOSHUO':
|
||||
self::pull630ZwXiaoShuo();
|
||||
break;
|
||||
case 'PULL_GUICHUIDENG_XIAOSHUO':
|
||||
self::pullGuiChuiDengJiuYuFanXianXiaoShuo();
|
||||
break;
|
||||
case 'PULL_WENXUEGUAN_XIAOSHUO':
|
||||
self::pullWenXueGuangXianXiaoShuo();
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -99,260 +43,14 @@ class PlanTask
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullWenXueGuangXianXiaoShuo()
|
||||
public static function pull630ZwNovel()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [NovelWenXueGuanCol::class, 'pullXiaoShuo'],
|
||||
'callback' => [Zw630Col::class, 'pull630ZwNovel'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
$QueueManage = new QueueManage();
|
||||
$QueueManage->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取鬼吹灯小说-九域凡仙
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullGuiChuiDengJiuYuFanXianXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [NovelJiuYuFanXianCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pull630ZwXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [Zw630XiaoShuoCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成地图-小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function generateNovelSiteMap()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [GenerateSiteMapNovel::class, 'generate'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成地图-小说 novelzw 模板
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function generateSiteMapNovelZw()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [GenerateSiteMapNovelZw::class, 'generate'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成地图-小说 novelzw 模板
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function generateSiteMapNovelSk()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [GenerateSiteMapNovelSk::class, 'generate'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 生成地图-视频
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function generateSiteMap()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [GenerateSiteMapCol::class, 'generate'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取优质资源
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function AddTongJiHuizon()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [ContentStatsCol::class, 'run'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 拉取优质资源
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function AddVisitLogs()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [YouZhiYingShiCol::class, 'add'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取优质资源
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullYouZhiZiYuan()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [YouZhiYingShiCol::class, 'pullYouZhiYingshi'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取黑木耳
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullHeiMuEr()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [HeiMuErYingShiCol::class, 'pullDadiYingshi'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取大地影视
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullDadiYingshi()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [DaDiDianyingCol::class, 'pullDadiYingshi'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pull5cccXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [XiaoShuo5cccCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 拉取小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [XiaoShuoCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullBiquxsXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [BiquxsXiaoShuoCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉取小说
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function pullTianLaiXiaoShuo()
|
||||
{
|
||||
$arrTask = [
|
||||
'callback' => [TianLaiXiaoShuoCol::class, 'pullXiaoShuo'],
|
||||
'data' => []
|
||||
];
|
||||
|
||||
$TaskCore = new TaskCore();
|
||||
$TaskCore->set($arrTask);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user