From 7df62d5ee15b73e01306a286d95fb69df089bac1 Mon Sep 17 00:00:00 2001 From: ChenYi <296215406@outlook.com> Date: Fri, 7 Nov 2025 11:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=89=8B=E5=8A=A8GC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Hangfire/RecurringJobsExtensions.cs | 8 ++-- .../configs/appsettings.Development.json | 22 +++++----- .../IoTApplicationModule.cs | 6 +-- .../CacheDeviceDataToRedisJob.cs | 2 +- .../Jobs/GCCollectJob.cs | 40 +++++++++++++++++++ src/JiShe.IoT.Application/Jobs/TestJob.cs | 11 ----- 6 files changed, 59 insertions(+), 30 deletions(-) rename src/JiShe.IoT.Application/Jobs/{ToRedis => }/CacheDeviceDataToRedisJob.cs (97%) create mode 100644 src/JiShe.IoT.Application/Jobs/GCCollectJob.cs delete mode 100644 src/JiShe.IoT.Application/Jobs/TestJob.cs diff --git a/host/JiShe.IoT.HttpApi.Host/Extensions/Hangfire/RecurringJobsExtensions.cs b/host/JiShe.IoT.HttpApi.Host/Extensions/Hangfire/RecurringJobsExtensions.cs index 0c760a3..aa2914a 100644 --- a/host/JiShe.IoT.HttpApi.Host/Extensions/Hangfire/RecurringJobsExtensions.cs +++ b/host/JiShe.IoT.HttpApi.Host/Extensions/Hangfire/RecurringJobsExtensions.cs @@ -6,10 +6,10 @@ namespace JiShe.IoT.Extensions.Hangfire { public static void CreateRecurringJob(this ApplicationInitializationContext context) { - RecurringJob.AddOrUpdate("测试Job", e => e.ExecuteAsync(), CronType.Minute(1), new RecurringJobOptions() - { - TimeZone = TimeZoneInfo.Local - }); + //RecurringJob.AddOrUpdate("测试Job", e => e.ExecuteAsync(), CronType.Minute(1), new RecurringJobOptions() + //{ + // TimeZone = TimeZoneInfo.Local + //}); } } } \ No newline at end of file diff --git a/host/JiShe.IoT.HttpApi.Host/configs/appsettings.Development.json b/host/JiShe.IoT.HttpApi.Host/configs/appsettings.Development.json index b78c021..70bf5a7 100644 --- a/host/JiShe.IoT.HttpApi.Host/configs/appsettings.Development.json +++ b/host/JiShe.IoT.HttpApi.Host/configs/appsettings.Development.json @@ -4,19 +4,19 @@ "CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://10.10.90.3:4200" }, "ConnectionStrings": { - "Default": "Data Source=47.110.53.196;Port=13306;Database=JiSheIoTProDB;uid=root;pwd=JiShe!aqG#5kGgh&0;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true;TreatTinyAsBoolean=false;SslMode=None;Pooling=true;" + "Default": "Data Source=192.168.111.174;Port=13306;Database=JiSheIoTProDB;uid=root;pwd=JiShe!aqG#5kGgh&0;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true;TreatTinyAsBoolean=false;SslMode=None;Pooling=true;" }, "Hangfire": { "Redis": { - "Host": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#", + "Host": "192.168.111.174:30712,password=1q3J@BGf!yhTaD46nS#", "DB": "2" } }, "Redis": { - "Configuration": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#,defaultdatabase=5" + "Configuration": "192.168.111.174:30712,password=1q3J@BGf!yhTaD46nS#,defaultdatabase=5" }, "Kafka": { - "BootstrapServers": "47.110.62.104:9094,47.110.53.196:9094,47.110.60.222:9094", + "BootstrapServers": "47.110.62.104:9094,192.168.111.174:9094,47.110.60.222:9094", "EnableFilter": true, "EnableAuthorization": false, "SaslUserName": "lixiao", @@ -26,8 +26,8 @@ "TaskThreadCount": -1 }, "Pulsar": { - "ServiceUrl": "pulsar://47.110.53.196:9093", - "WebUrl": "http://47.110.53.196:9094", + "ServiceUrl": "pulsar://192.168.111.174:26974", + "WebUrl": "http://192.168.111.174:9094", "UserName": "admin", "TenantName": "1YMVZZkAkRArjxSD8457", "Namespace": "OneNET", @@ -56,10 +56,10 @@ "IoTDBOptions": { "UserName": "root", "Password": "Lixiao@1980", - //"TreeModelClusterList": [ "47.110.53.196:6667", "47.110.60.222:6667", "47.110.62.104:6667" ], - //"TableModelClusterList": [ "47.110.53.196:6667", "47.110.60.222:6667", "47.110.62.104:6667" ], - "TreeModelClusterList": [ "47.110.53.196:30710" ], - "TableModelClusterList": [ "47.110.53.196:30710" ], + //"TreeModelClusterList": [ "192.168.111.174:6667", "47.110.60.222:6667", "47.110.62.104:6667" ], + //"TableModelClusterList": [ "192.168.111.174:6667", "47.110.60.222:6667", "47.110.62.104:6667" ], + "TreeModelClusterList": [ "192.168.111.174:30710" ], + "TableModelClusterList": [ "192.168.111.174:30710" ], "PoolSize": 32, "DataBaseName": "jisheiotdata", "OpenDebugMode": false, @@ -95,7 +95,7 @@ } }, "FreeRedisOptions": { - "ConnectionString": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=500,defaultdatabase=14", + "ConnectionString": "192.168.111.174:30712,password=1q3J@BGf!yhTaD46nS#,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=500,defaultdatabase=14", "UseDistributedCache": true }, "FreeSqlProviderOptions": { diff --git a/src/JiShe.IoT.Application/IoTApplicationModule.cs b/src/JiShe.IoT.Application/IoTApplicationModule.cs index 3af5e33..09fa0f5 100644 --- a/src/JiShe.IoT.Application/IoTApplicationModule.cs +++ b/src/JiShe.IoT.Application/IoTApplicationModule.cs @@ -1,5 +1,5 @@ using JiShe.IoT.CommonServices; -using JiShe.IoT.Jobs.ToRedis; +using JiShe.IoT.Jobs; using JiShe.ServicePro.CTWingManagement; using JiShe.ServicePro.DeviceManagement; using JiShe.ServicePro.DynamicMenuManagement; @@ -46,12 +46,12 @@ namespace JiShe.IoT public override void PostConfigureServices(ServiceConfigurationContext context) { // 定时任务 - //ConfigureBackgroundJob(context); + ConfigureBackgroundJob(context); } private static void ConfigureBackgroundJob(ServiceConfigurationContext context) { - context.Services.AddHostedService(); + context.Services.AddHostedService(); } public override void OnApplicationInitialization(ApplicationInitializationContext context) diff --git a/src/JiShe.IoT.Application/Jobs/ToRedis/CacheDeviceDataToRedisJob.cs b/src/JiShe.IoT.Application/Jobs/CacheDeviceDataToRedisJob.cs similarity index 97% rename from src/JiShe.IoT.Application/Jobs/ToRedis/CacheDeviceDataToRedisJob.cs rename to src/JiShe.IoT.Application/Jobs/CacheDeviceDataToRedisJob.cs index 3f91be9..469489a 100644 --- a/src/JiShe.IoT.Application/Jobs/ToRedis/CacheDeviceDataToRedisJob.cs +++ b/src/JiShe.IoT.Application/Jobs/CacheDeviceDataToRedisJob.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace JiShe.IoT.Jobs.ToRedis +namespace JiShe.IoT.Jobs { /// /// 缓存设备数据到redis diff --git a/src/JiShe.IoT.Application/Jobs/GCCollectJob.cs b/src/JiShe.IoT.Application/Jobs/GCCollectJob.cs new file mode 100644 index 0000000..4194563 --- /dev/null +++ b/src/JiShe.IoT.Application/Jobs/GCCollectJob.cs @@ -0,0 +1,40 @@ +using JiShe.ServicePro.Core; +using JiShe.ServicePro.DeviceManagement.DeviceInfos; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JiShe.IoT.Jobs +{ + /// + /// GCCollect 定时手动回收 + /// + public class GCCollectJob : SystemBackGroundWorkService + { + private readonly ILogger _logger; + public GCCollectJob(ILogger logger) : base(logger) + { + _logger = logger; + } + + /// + /// 定时执行 + /// + /// + /// + protected override Task DoWorkAsync(CancellationToken cancellationToken) + { + CommonHelper.GCCollectHandler(); + _logger.LogWarning("执行手动GC.Collect()"); + return Task.CompletedTask; + } + + protected override TimeSpan GetInterval() + { + return TimeSpan.FromMinutes(5); + } + } +} diff --git a/src/JiShe.IoT.Application/Jobs/TestJob.cs b/src/JiShe.IoT.Application/Jobs/TestJob.cs deleted file mode 100644 index 10df45c..0000000 --- a/src/JiShe.IoT.Application/Jobs/TestJob.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace JiShe.IoT.Jobs -{ - public class TestJob : IRecurringJob - { - public Task ExecuteAsync() - { - Console.WriteLine($"job 测试- {DateTime.Now}"); - return Task.CompletedTask; - } - } -} \ No newline at end of file