增加不停升级功能

This commit is contained in:
2026-01-19 10:19:20 +08:00
parent b48907796f
commit 46705123bf
2 changed files with 135 additions and 7 deletions

View File

@@ -1,8 +1,3 @@
using System.Buffers;
using System.Data;
using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Text;
using BLW_Log.Controllers;
using BLW_Log.Models;
using BLW_Log.Push;
@@ -21,6 +16,12 @@ using NLog;
using NLog.Extensions.Logging;
using NLog.Web;
using Quartz;
using RestSharp;
using System.Buffers;
using System.Data;
using System.IO.Pipelines;
using System.Runtime.CompilerServices;
using System.Text;
using static IronPython.Modules.PythonCsvModule;
namespace BLW_Log
{
@@ -32,7 +33,7 @@ namespace BLW_Log
{
public static void Main(string[] args)
{
//var N = DateTime.Now.ToString("yyyy-MM-dd#HH:mm:ss:fff");
//var N = DateTime.Now.ToString("yyyy-MM-dd#HH:mm:ss:fff");
var builder = WebApplication.CreateBuilder(args);
//builder.Services.AddSingleton<MyMemoryCache>();
@@ -102,7 +103,13 @@ namespace BLW_Log
}
};
});
builder.Services.AddSingleton<Dictionary<string, IRestClient>>(provider =>
{
return new Dictionary<string, IRestClient>
{
["NoStopShengJi"] = new RestClient("https://www.boonlive-rcu.com/"),
};
});
string ttt1 = builder.Configuration["ExcelGenerater"].ToString();
string[] ssk1 = ttt1.Split(',');
@@ -167,6 +174,16 @@ namespace BLW_Log
}) // ÿ<><C3BF>17:00
);
//<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>
var jobKey5 = new JobKey("BuTingShengJi");
q.AddJob<ExcelScan>(opts => opts.WithIdentity(jobKey5));
q.AddTrigger(opts => opts
.ForJob(jobKey5)
.WithIdentity("BuTingShengJi-trigger")
.StartAt(DateTimeOffset.Now.AddMinutes(1))
);
});
builder.Services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true);
builder.Services.AddSignalR();

View File

@@ -0,0 +1,111 @@
using Common;
using Commonlib;
using Newtonsoft.Json;
using NLog;
using Quartz;
using RestSharp;
namespace BLW_Log.services
{
public class ShengJiCaoZuoB : IJob
{
private readonly Logger _logger = LogManager.GetCurrentClassLogger();
public static string BaseUrl = "https://www.boonlive-rcu.com/";
private readonly Dictionary<string, IRestClient> _clients;
public ShengJiCaoZuoB(Dictionary<string, IRestClient> clients)
{
_clients = clients;
}
async public Task Execute(IJobExecutionContext context)
{
try
{
var options = new RestClientOptions(BaseUrl);
var client = _clients["NoStopShengJi"];
string Url = "api/WebChatUpgrade";
var request = new RestRequest(Url);
//2438
//研发测试房型_1
//固件:BLV-C5 || Launcher_C1F_V04 || C1F_A_L4_41_250605_NM.bin
request.AddParameter("roomTypeID", "2438");
request.AddParameter("hostid_lists", "[24540]");
request.AddParameter("upgradefileName", "C1F_A_L4_41_250605_NM.bin");
string? hostlist = client.Post(request).Content;
var response = await client.ExecutePostAsync(request);
_logger.Error("ShengJiCaoZuoB 执行结果:" + response.Content);
// 等待10秒后执行JobB
await Task.Delay(10 * 60 * 1000); // 300000毫秒
// 直接启动JobB
var jobA = JobBuilder.Create<ShengJiCaoZuoA>().Build();
var triggerA = TriggerBuilder.Create()
.StartNow()
.Build();
await context.Scheduler.ScheduleJob(jobA, triggerA);
}
catch (Exception ex)
{
_logger.Error("ShengJiCaoZuoB 执行失败:" + ex.Message);
}
}
}
public class ShengJiCaoZuoA : IJob
{
private readonly Logger _logger = LogManager.GetCurrentClassLogger();
private readonly Dictionary<string, IRestClient> _clients;
public ShengJiCaoZuoA(Dictionary<string, IRestClient> clients)
{
_clients = clients;
}
public static string BaseUrl = "https://www.boonlive-rcu.com/";
public async Task Execute(IJobExecutionContext context)
{
try
{
var options = new RestClientOptions(BaseUrl);
var client = _clients["NoStopShengJi"];
string Url = "api/WebChatUpgrade";
var request = new RestRequest(Url);
//1412
//固件:BLV-V9 || Launcher_C1F_V04 || C1F_A_L4_31_240723_NM.bin
//100331-YHF_T
//YHF_T
//2438
//研发测试房型_1
//固件:BLV-C5 || Launcher_C1F_V04 || C1F_A_L4_41_250605_NM.bin
request.AddParameter("roomTypeID", "1412");
request.AddParameter("hostid_lists", "[24540]");
request.AddParameter("upgradefileName", "C1F_A_L4_31_240723_NM.bin");
string? hostlist = client.Post(request).Content;
var response = await client.ExecutePostAsync(request);
_logger.Error("ShengJiCaoZuoA 执行成功:" + response.Content);
// 等待10秒后执行JobB
await Task.Delay(10 * 60 * 1000); // 300000毫秒
// 直接启动JobB
var jobB = JobBuilder.Create<ShengJiCaoZuoB>().Build();
var triggerB = TriggerBuilder.Create()
.StartNow()
.Build();
await context.Scheduler.ScheduleJob(jobB, triggerB);
}
catch (Exception ex)
{
_logger.Error("ShengJiCaoZuoA 执行失败:" + ex.Message);
}
}
}
}