diff --git a/AntJob.Agent/Program.cs b/AntJob.Agent/Program.cs
index 43ca14f..0a88f67 100644
--- a/AntJob.Agent/Program.cs
+++ b/AntJob.Agent/Program.cs
@@ -19,7 +19,7 @@ var scheduler = new Scheduler
Log = XTrace.Log,
};
-scheduler.Join(set.Server, set.AppID, set.Secret, set.Debug);
+scheduler.Join(set);
// 添加作业处理器
//sc.Handlers.Add(new CSharpHandler());
diff --git a/AntJob/AntJob.csproj b/AntJob/AntJob.csproj
index 68d23c3..c730b1b 100644
--- a/AntJob/AntJob.csproj
+++ b/AntJob/AntJob.csproj
@@ -46,7 +46,7 @@
-
+
diff --git a/AntJob/Providers/AntClient.cs b/AntJob/Providers/AntClient.cs
index 57d0005..f77b71e 100644
--- a/AntJob/Providers/AntClient.cs
+++ b/AntJob/Providers/AntClient.cs
@@ -20,14 +20,14 @@ public class AntClient : ClientBase
#region 构造
/// 实例化
- public AntClient() => Prefix = "Ant/";
+ public AntClient() => Prefix = "";
/// 实例化
///
public AntClient(AntSetting setting) : base(setting)
{
_setting = setting;
- Prefix = _setting.Server.StartsWithIgnoreCase("http://", "https://") ? "AntJob/" : "Ant/";
+ Prefix = _setting.Server.StartsWithIgnoreCase("http://", "https://") ? "AntJob/" : "";
}
#endregion
@@ -49,7 +49,7 @@ public class AntClient : ClientBase
//container.TryAddTransient();
}
- Prefix = _setting.Server.StartsWithIgnoreCase("http://", "https://") ? "AntJob/" : "Ant/";
+ Prefix = _setting.Server.StartsWithIgnoreCase("http://", "https://") ? "AntJob/" : "";
base.OnInit();
}
diff --git a/AntJob/Scheduler.cs b/AntJob/Scheduler.cs
index c930521..ae74b10 100644
--- a/AntJob/Scheduler.cs
+++ b/AntJob/Scheduler.cs
@@ -54,13 +54,12 @@ public class Scheduler : DisposeBase
#region 核心方法
/// 加入调度中心,从注册中心获取地址,自动识别RPC/Http
- ///
- ///
- ///
- ///
+ ///
///
- public IJobProvider Join(String server, String appId, String secret, Boolean debug = false)
+ public IJobProvider Join(AntSetting set)
{
+ var server = set.Server;
+
var registry = ServiceProvider?.GetService();
if (registry != null)
{
@@ -69,31 +68,31 @@ public class Scheduler : DisposeBase
}
if (server.IsNullOrEmpty()) return null;
+ set.Server = server;
// 根据地址决定用Http还是RPC
var servers = server.Split(",");
- if (servers.Any(e => e.StartsWithIgnoreCase("http://", "https://")))
- {
- var http = new HttpJobProvider
- {
- Debug = debug,
- Server = server,
- AppId = appId,
- Secret = secret,
- };
+ //if (servers.Any(e => e.StartsWithIgnoreCase("http://", "https://")))
+ //{
+ // var http = new HttpJobProvider
+ // {
+ // Debug = debug,
+ // Server = server,
+ // AppId = appId,
+ // Secret = secret,
+ // };
- // 如果有注册中心,则使用注册中心的服务发现
- if (registry != null)
- {
- //http.Client = registry.CreateForService("AntServer") as ApiHttpClient;
- //http.Client.RoundRobin = false;
- }
+ // // 如果有注册中心,则使用注册中心的服务发现
+ // if (registry != null)
+ // {
+ // //http.Client = registry.CreateForService("AntServer") as ApiHttpClient;
+ // //http.Client.RoundRobin = false;
+ // }
- Provider = http;
- }
- else
+ // Provider = http;
+ //}
+ //else
{
- var set = AntSetting.Current;
var rpc = new NetworkJobProvider(set);
Provider = rpc;
diff --git a/Samples/HisAgent/HisAgent.csproj b/Samples/HisAgent/HisAgent.csproj
index 4a33926..da4a4e6 100644
--- a/Samples/HisAgent/HisAgent.csproj
+++ b/Samples/HisAgent/HisAgent.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -9,10 +9,6 @@
false
-
-
-
-
diff --git a/Samples/HisAgent/JobHost.cs b/Samples/HisAgent/JobHost.cs
index 6f51865..80a85d5 100644
--- a/Samples/HisAgent/JobHost.cs
+++ b/Samples/HisAgent/JobHost.cs
@@ -2,9 +2,9 @@
using System.Threading;
using System.Threading.Tasks;
using AntJob;
-using Microsoft.Extensions.Hosting;
using NewLife;
using NewLife.Log;
+using NewLife.Model;
namespace HisAgent;
@@ -12,13 +12,16 @@ public class JobHost : BackgroundService
{
private Scheduler _scheduler;
private readonly IServiceProvider _serviceProvider;
+ private readonly AntSetting _setting;
- public JobHost(IServiceProvider serviceProvider) => _serviceProvider = serviceProvider;
+ public JobHost(IServiceProvider serviceProvider, AntSetting setting)
+ {
+ _serviceProvider = serviceProvider;
+ _setting = setting;
+ }
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
- var set = AntSetting.Current;
-
// 实例化调度器
var scheduler = new Scheduler
{
@@ -26,7 +29,7 @@ public class JobHost : BackgroundService
Log = XTrace.Log,
};
- scheduler.Join(set.Server, set.AppID, set.Secret, set.Debug);
+ scheduler.Join(_setting);
// 添加作业
scheduler.AddHandler();
diff --git a/Samples/HisAgent/Program.cs b/Samples/HisAgent/Program.cs
index 823b0cd..bceddee 100644
--- a/Samples/HisAgent/Program.cs
+++ b/Samples/HisAgent/Program.cs
@@ -1,33 +1,20 @@
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
+using AntJob;
+using HisAgent;
using NewLife.Log;
+using NewLife.Model;
+using Stardust;
-namespace HisAgent;
+// 启用控制台日志,拦截所有异常
+XTrace.UseConsole();
-class Program
-{
- static void Main(string[] args)
- {
- XTrace.UseConsole();
+var services = ObjectContainer.Current;
+services.AddStardust();
- CreateHostBuilder(args).Build().Run();
- }
+services.AddSingleton(AntSetting.Current);
- ///
- ///
- ///
- public static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureServices((hostContext, services) => ConfigureServices(services));
+// 友好退出
+var host = services.BuildHost();
- ///
- ///
- ///
- public static void ConfigureServices(IServiceCollection services)
- {
- services.AddStardust();
+host.Add();
- // 添加后台调度服务
- services.AddHostedService();
- }
-}
\ No newline at end of file
+await host.RunAsync();
\ No newline at end of file
diff --git a/蚂蚁.sln b/蚂蚁.sln
index c2c4ec0..f549049 100644
--- a/蚂蚁.sln
+++ b/蚂蚁.sln
@@ -5,6 +5,7 @@ VisualStudioVersion = 17.1.32328.378
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Others", "Others", "{0EA980BB-BB15-41A3-B75B-537BC42E985B}"
ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
.github\workflows\publish-beta.yml = .github\workflows\publish-beta.yml
.github\workflows\publish.yml = .github\workflows\publish.yml
Readme.MD = Readme.MD
@@ -25,11 +26,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AntJob.Extensions", "AntJob
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{E842807F-C45E-44DA-8AAE-7915C1EBF2A2}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A1EF271C-AEA8-4EA3-A76F-906B4D4A9058}"
- ProjectSection(SolutionItems) = preProject
- .editorconfig = .editorconfig
- EndProjectSection
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AntJob.Agent", "AntJob.Agent\AntJob.Agent.csproj", "{0970FDBA-2331-4600-8DD5-A37B41AF989F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HisAgent", "Samples\HisAgent\HisAgent.csproj", "{E62006DC-E61B-42B0-A06B-ED5BF3F73D9E}"
@@ -38,8 +34,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HisData", "Samples\HisData\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HisWeb", "Samples\HisWeb\HisWeb.csproj", "{153499A6-E73C-4C5A-8867-D29BD586A74B}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTest", "UnitTest", "{26660D0A-8724-4434-88D1-5EE861A68309}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AntTest", "AntTest\AntTest.csproj", "{A13E58D2-A185-4945-98B7-B6B0951A19D2}"
EndProject
Global
@@ -100,7 +94,6 @@ Global
{E62006DC-E61B-42B0-A06B-ED5BF3F73D9E} = {E842807F-C45E-44DA-8AAE-7915C1EBF2A2}
{38F8667D-70B7-4A90-8CA7-63738E925DFF} = {E842807F-C45E-44DA-8AAE-7915C1EBF2A2}
{153499A6-E73C-4C5A-8867-D29BD586A74B} = {E842807F-C45E-44DA-8AAE-7915C1EBF2A2}
- {A13E58D2-A185-4945-98B7-B6B0951A19D2} = {26660D0A-8724-4434-88D1-5EE861A68309}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9337283C-C795-479F-A2F1-C892EBE2490C}