This commit is contained in:
make
2025-04-21 17:47:12 +08:00
parent 24cef96a26
commit 7ef217c1b9
523 changed files with 0 additions and 93250 deletions

View File

@@ -1,90 +0,0 @@
<?php
declare(strict_types=1);
namespace app\task\module;
use microserver\ProcessSanitizer;
use microserver\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;
}
}
}
}

View File

@@ -1,136 +0,0 @@
<?php
declare(strict_types=1);
namespace app\task\module;
use app\model\PlanTaskModel;
use app\task\crawler\zw630\Scheduler as Zw630Scheduler;
use app\task\crawler\zw74\Scheduler as Zw74Scheduler;
use app\task\crawler\youzhi\Scheduler as YouZhiScheduler;
use microserver\QueueManage;
use microserver\ProcessSanitizer;
class PlanTask
{
public static function scanPlanTask($arrData)
{
ProcessSanitizer::destructConnectSource();
$PlanTaskAll = PlanTaskModel::where('pt_enable', 1)->select();
foreach ($PlanTaskAll as $PlanTask) {
if ($PlanTask->pt_last_exec != 0 && ($PlanTask->pt_last_exec + $PlanTask->pt_limit) > time()) continue;
$PlanTask->pt_last_exec = time();
$PlanTask->save();
switch ($PlanTask->pt_code) {
case 'PULL_630_ZW_NOVEL':
self::pull630ZwNovel();
break;
case 'PULL_630_ZW_NOVEL_LATEST':
self::pull630ZwNovelLatest();
break;
case 'PULL_74_ZW_NOVEL':
self::pull74ZwNovel();
break;
case 'PULL_74_ZW_NOVEL_LATEST':
self::pull74ZwNovelLatest();
break;
case 'PULL_YOU_ZHI_SHI_PIN':
self::pullYouZhiShiPin();
break;
}
}
}
/**
* Undocumented function
*
* @return void
*/
public static function pullYouZhiShiPin()
{
$arrTask = [
'callback' => [YouZhiScheduler::class, 'crawlFull'],
'data' => []
];
$QueueManage = new QueueManage();
$QueueManage->set($arrTask);
}
/**
* Undocumented function
*
* @return void
*/
public static function pull630ZwNovel()
{
$arrTask = [
'callback' => [Zw630Scheduler::class, 'crawlFull'],
'data' => []
];
$QueueManage = new QueueManage();
$QueueManage->set($arrTask);
}
/**
* Undocumented function
*
* @return void
*/
public static function pull630ZwNovelLatest()
{
$arrTask = [
'callback' => [Zw630Scheduler::class, 'crawLatest'],
'data' => []
];
$QueueManage = new QueueManage();
$QueueManage->set($arrTask);
}
/**
* Undocumented function
*
* @return void
*/
public static function pull74ZwNovel()
{
$arrTask = [
'callback' => [Zw74Scheduler::class, 'crawlFull'],
'data' => []
];
$QueueManage = new QueueManage();
$QueueManage->set($arrTask);
}
/**
* Undocumented function
*
* @return void
*/
public static function pull74ZwNovelLatest()
{
$arrTask = [
'callback' => [Zw74Scheduler::class, 'crawLatest'],
'data' => []
];
$QueueManage = new QueueManage();
$QueueManage->set($arrTask);
}
}