Browse Source

fix quartz not started

Robert 2 years ago
parent
commit
905676ecce

+ 4 - 3
EVCB_OCPP.TaskScheduler/EVCB_OCPP.TaskScheduler.csproj

@@ -6,7 +6,9 @@
     <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
   </PropertyGroup>
   <ItemGroup>
-    <Content Include="appsettings.json" />
+    <Content Include="appsettings.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
   </ItemGroup>
   <ItemGroup>
     <PackageReference Include="Dapper" Version="2.0.123" />
@@ -18,8 +20,7 @@
     <PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
     <PackageReference Include="NLog.Extensions.Logging" Version="5.2.1" />
     <PackageReference Include="NLog.Web.AspNetCore" Version="5.2.1" />
-    <PackageReference Include="Quartz" Version="3.5.0" />
-    <PackageReference Include="Quartz.Extensions.Hosting" Version="3.5.0" />
+    <PackageReference Include="Quartz.Extensions.Hosting" Version="3.6.0" />
     <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
     <PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
     <PackageReference Include="System.ServiceModel.Duplex" Version="4.10.0" />

+ 6 - 3
EVCB_OCPP.TaskScheduler/Jobs/CheckEVSEOnlineJob.cs

@@ -1,6 +1,7 @@
 using Dapper;
 using EVCB_OCPP.TaskScheduler.Models;
 using Microsoft.Data.SqlClient;
+using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.Logging;
 using Quartz;
 using System;
@@ -23,13 +24,15 @@ namespace EVCB_OCPP.TaskScheduler.Jobs
         private DateTime latestHeartbeatTime = DateTime.Now;
         private List<EVSEOnlineRecord> updateData = new List<EVSEOnlineRecord>();
         private List<EVSEOnlineRecord> insertData = new List<EVSEOnlineRecord>();
-        private string mainDBConnectString = ConfigurationManager.ConnectionStrings["MainDBContext"].ToString();
-        private string onlineDBConnectString = ConfigurationManager.ConnectionStrings["OnlineLogDBContext"].ToString();
+        private string mainDBConnectString;// = ConfigurationManager.ConnectionStrings["MainDBContext"].ToString();
+        private string onlineDBConnectString;// = ConfigurationManager.ConnectionStrings["OnlineLogDBContext"].ToString();
 
-        public CheckEVSEOnlineJob(ILogger<CheckEVSEOnlineJob> logger)
+        public CheckEVSEOnlineJob(IConfiguration configuration, ILogger<CheckEVSEOnlineJob> logger)
         {
             this.logger = logger;
 
+            mainDBConnectString = configuration.GetConnectionString("MainDBContext");
+            onlineDBConnectString = configuration.GetConnectionString("OnlineLogDBContext");
             CreateEVSEOnlineRecordTable();
         }
         //測試方式

+ 4 - 0
EVCB_OCPP.TaskScheduler/Jobs/JobScheduler.cs

@@ -14,6 +14,8 @@ namespace EVCB_OCPP.TaskScheduler.Jobs
         {
             services.AddQuartz(q => {
 
+                q.UseMicrosoftDependencyInjectionJobFactory();
+
                 var CheckEVSEOnlineJobKey = new JobKey("job1", "group1");
                 q.AddJob<CheckEVSEOnlineJob>(opts => { opts.WithIdentity(CheckEVSEOnlineJobKey); });
 
@@ -84,6 +86,8 @@ namespace EVCB_OCPP.TaskScheduler.Jobs
                         .RepeatForever());
                 });
             });
+
+            services.AddQuartzHostedService();
         }
     }
 }

+ 2 - 2
EVCB_OCPP.TaskScheduler/appsettings.json

@@ -33,7 +33,7 @@
     ]
   },
   "ConnectionStrings": {
-    "OnlineLogDBContext": "data source=172.1.0.131\\DEV_OCPP_PORTAL;initial catalog=Docker_OnlineRecord;;persist security info=True;user id=sa;password=Ph0930118811;MultipleActiveResultSets=True;App=EntityFramework",
-    "MainDBContext": "data source=172.1.0.131\\DEV_OCPP_PORTAL;initial catalog=Docker_Main;;persist security info=True;user id=sa;password=Ph0930118811;MultipleActiveResultSets=True;App=EntityFramework"
+    "OnlineLogDBContext": "data source=172.1.0.131;initial catalog=Docker_OnlineRecord;;persist security info=True;user id=sa;password=B58Py42j/4cj84;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true",
+    "MainDBContext": "data source=172.1.0.131;initial catalog=Docker_Main;;persist security info=True;user id=sa;password=B58Py42j/4cj84;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=true"
   }
 }