bIsTest) { $h = (int) ($this->iTestH ?? $h); $i = (int) ($this->iTestI ?? $i); $s = (int) ($this->iTestS ?? $s); } echo "cron开始执行 \n"; if ($h === 8 && $i === 3) { (new ReportUmami())->handle(); } if ($h % 8 === 0 && $i === 3) { CronBook::randbox_notify(); // note提醒 } if ($h % 4 === 0 && $i === 3) { ShadowRocketCrawl::run(); // 爬取小火箭id ShadowRocketPublish::run(); // 小火箭id发布到site } if ($h % 6 === 0) { if ($i === 3) { CronFreenodeCrawl::run(); // 1.爬免费节点 } if ($i === 6) { CronFreenodePool::save(); // 2.格式化入库 } if ($i === 9) { CronFreenodeMerge::save(); // 3.加工成文件 } if ($i === 12) { CronFreenodeMerge::baseToSite("fn_a"); // 4.文件处理成各站版本 CronFreenodeMerge::baseToSite("fn_b"); // 4.文件处理成各站版本 } if ($i === 15) { CronFreenodeSync::nodehub(); // 6.fn发布到nodehub } // 发布在11点,只一次,即可 } if ($h % 6 === 0 && $i === 3) { // ShadowRocketCrawl::run(); // 爬取小火箭id // ShadowRocketPublish::run(); // 小火箭id发布到site // CronFreenodeCrawl::run(); // 1.爬免费节点 // CronFreenodePool::save(); // 2.格式化入库 // CronFreenodeMerge::save(); // 3.加工成文件 // CronFreenodeMerge::baseToSite("fn_a"); // 4.文件分散为各站用 // CronFreenodeMerge::baseToSite("fn_b"); } if ($h % 3 === 0 && $i === 3) { CronFreenodeSync::run(); // fn分发到各到各站,旧版!! NasaTestFnSubfile::run_b(); // nasa测试订阅文件 } if ($h == 11 && $i == 3) { CronFnSitePublish::fn_b(); // 新版,直接生成完整fn文章推到各站 CronFnTgPublish::run(); // fn发布tg频道 CronFnTgPublish::run_b(); // 新版,fn发布tg频道 } if ($h == 5 && $i === 3) { CronFreenodeFile::clear(); // 清理fn } if ($i % 3 === 0) { ServiceCacheTg::cron_saveToSchema(); // 文章从tg接收 CronArticleSchema::cacheTgSave(); // 文章入库 CronArticleSchema::pushToSlave(); // 文章发送到各站 CronHttpQueue::pop(); } } catch (\Throwable $e) { $sMsg = ""; $sMsg .= "--- cron 异常 ---\n"; $sMsg .= "类型: " . get_class($e) . "\n"; $sMsg .= "信息: " . $e->getMessage() . "\n"; $sMsg .= "文件: " . $e->getFile() . " 在第 " . $e->getLine() . " 行\n"; $sMsg .= "代码跟踪:\n" . $e->getTraceAsString() . "\n"; $sMsg .= "-----------------------------\n"; echo $sMsg; $sMsg = ""; $sMsg .= "--- cron 异常 ---\n"; $sMsg .= "类型: " . get_class($e) . "\n"; $sMsg .= "信息: " . $e->getMessage() . "\n"; $sMsg .= "文件: " . $e->getFile() . " 在第 " . $e->getLine() . " 行\n"; TeleSlave::fail()->send($sMsg); } } public function setTestH(int $h): void { $this->enableTestMode(); $this->iTestH = $h; } public function setTestI(int $i): void { $this->enableTestMode(); $this->iTestI = $i; } public function setTestS(int $s): void { $this->enableTestMode(); $this->iTestS = $s; } public function enableTestMode(bool $enable = true): void { $this->bIsTest = $enable; } }