116 lines
4.2 KiB
PHP
Executable File
116 lines
4.2 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Services\Cron;
|
|
|
|
use App\Models\TestSubfile;
|
|
use App\Services\TomTool\Telegram\Slave as TeleSlave;
|
|
//use App\Services\TomTool\Telegram\Master as TeleMaster;
|
|
use App\Models\SiteMap as SiteMap;
|
|
use Illuminate\Support\Facades\Http;
|
|
use App\Services\FreenodeHelperService;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
final class NasaTestFnSubfile
|
|
{
|
|
|
|
public static function run_b()
|
|
{
|
|
echo "\n\n 运行监测-fn_b start";
|
|
$sDateCode = date("Ymd");
|
|
// $sDateCode = "20260211"; // test
|
|
$sDateToday = date("Y-m-d");
|
|
$sDateToday = "2026-02-26";
|
|
$aFnClients = FreenodeHelperService::getClients();
|
|
|
|
$oNodeBus = SiteMap::where("group_code", "nodehub")->first();
|
|
$cFnSite = SiteMap::whereIn("group_code", ["fn_b"])->get(); // a系列逐渐抛弃
|
|
|
|
// foreach ($cFnSite as $oFnSite) {
|
|
//
|
|
// // model
|
|
// $oTestSubfile = TestSubfile::where("site_code", $oFnSite->code_short)->whereDate("created_at", $sDateToday)->first();
|
|
//
|
|
// if (!$oTestSubfile) {
|
|
// $oTestSubfile = new TestSubfile();
|
|
// $oTestSubfile->site_code = $oFnSite->code_short;
|
|
// }
|
|
//
|
|
// // 页面监测
|
|
// $sUrlHtml = "https://".$oFnSite->url."/a/fn".$sDateCode.".html";
|
|
// $oResponse = Http::withoutVerifying()->get($sUrlHtml); // 不验证ssl
|
|
// $iHttpStatus = $oResponse->status() ?? 0;
|
|
//
|
|
// if ($iHttpStatus != 200) {
|
|
// TeleSlave::warn()->send("运行监测-fn_b:有页面未获取成功");
|
|
// }
|
|
//
|
|
// $oTestSubfile->status_http_page = $iHttpStatus;
|
|
//
|
|
// // subfile监测
|
|
// foreach ($aFnClients as $sFnClient) {
|
|
// $sUrlSubFile = FreenodeHelperService::urlFeedToday($oFnSite->code_short, $sFnClient);
|
|
// $oResponse = Http::timeout(60)
|
|
// ->withoutVerifying()
|
|
// ->withHeaders([
|
|
// 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
// 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
|
|
// 'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8',
|
|
// ])
|
|
// ->get($sUrlSubFile);
|
|
//
|
|
// $iHttpStatus = $oResponse->status() ?? 0;
|
|
//
|
|
// $sBody = $iHttpStatus;
|
|
//
|
|
// if ($iHttpStatus == 200) {
|
|
// $sBody = $oResponse->body();
|
|
// } else {
|
|
// TeleSlave::warn()->send("运行监测-fn_b:有subfile未获取成功");
|
|
// }
|
|
//
|
|
// $oTestSubfile->{$sFnClient."_url"} = "https://".$sUrlSubFile;
|
|
// $oTestSubfile->{$sFnClient."_content"} = $sBody;
|
|
// }
|
|
//
|
|
// $oTestSubfile->save();
|
|
//
|
|
// }
|
|
|
|
//// _admin
|
|
|
|
$oTestSubfile = TestSubfile::where("site_code", "_admin")->whereDate("created_at", $sDateToday)->first();
|
|
|
|
if (!$oTestSubfile) {
|
|
$oTestSubfile = new TestSubfile();
|
|
$oTestSubfile->site_code = "_admin";
|
|
}
|
|
|
|
foreach ($aFnClients as $sFnClient) {
|
|
|
|
$sFilePath = $_ENV["dir_base"]."public/freenode/merge/_admin/".$sFnClient."/".$sDateToday.".txt";
|
|
$file = file_get_contents($sFilePath);
|
|
|
|
if (!file_exists($sFilePath)) {
|
|
continue;
|
|
}
|
|
|
|
$oTestSubfile->{$sFnClient."_url"} = $sFilePath;
|
|
$oTestSubfile->{$sFnClient."_content"} = $file;
|
|
|
|
}
|
|
|
|
$oTestSubfile->save();
|
|
|
|
|
|
// 删除超过30天的log
|
|
$sDatePrev30 = date("Y-m-m", strtotime("-30 days"));
|
|
TestSubfile::whereDate("created_at", "<", $sDatePrev30)->delete();
|
|
|
|
echo "\n 运行监测-fn_b done";
|
|
|
|
}
|
|
|
|
}
|