[feat]应用在线,但可能禁止向其分配任务

This commit is contained in:
大石头 2024-07-26 21:28:05 +08:00
parent 81f899654c
commit 27bef3505c
5 changed files with 31 additions and 1 deletions

View File

@ -396,6 +396,17 @@
<td>客户端登录到哪个服务端IP加端口</td> <td>客户端登录到哪个服务端IP加端口</td>
</tr> </tr>
<tr>
<td>Enable</td>
<td>启用</td>
<td>Boolean</td>
<td></td>
<td></td>
<td></td>
<td>N</td>
<td>是否允许申请任务</td>
</tr>
<tr> <tr>
<td>Tasks</td> <td>Tasks</td>
<td>任务数</td> <td>任务数</td>

View File

@ -96,6 +96,14 @@ public partial class AppOnline
[BindColumn("Server", "服务端。客户端登录到哪个服务端IP加端口", "")] [BindColumn("Server", "服务端。客户端登录到哪个服务端IP加端口", "")]
public String Server { get => _Server; set { if (OnPropertyChanging("Server", value)) { _Server = value; OnPropertyChanged("Server"); } } } public String Server { get => _Server; set { if (OnPropertyChanging("Server", value)) { _Server = value; OnPropertyChanged("Server"); } } }
private Boolean _Enable;
/// <summary>启用。是否允许申请任务</summary>
[DisplayName("启用")]
[Description("启用。是否允许申请任务")]
[DataObjectField(false, false, false, 0)]
[BindColumn("Enable", "启用。是否允许申请任务", "")]
public Boolean Enable { get => _Enable; set { if (OnPropertyChanging("Enable", value)) { _Enable = value; OnPropertyChanged("Enable"); } } }
private Int32 _Tasks; private Int32 _Tasks;
/// <summary>任务数</summary> /// <summary>任务数</summary>
[DisplayName("任务数")] [DisplayName("任务数")]
@ -215,6 +223,7 @@ public partial class AppOnline
"Version" => _Version, "Version" => _Version,
"CompileTime" => _CompileTime, "CompileTime" => _CompileTime,
"Server" => _Server, "Server" => _Server,
"Enable" => _Enable,
"Tasks" => _Tasks, "Tasks" => _Tasks,
"Total" => _Total, "Total" => _Total,
"Success" => _Success, "Success" => _Success,
@ -242,6 +251,7 @@ public partial class AppOnline
case "Version": _Version = Convert.ToString(value); break; case "Version": _Version = Convert.ToString(value); break;
case "CompileTime": _CompileTime = value.ToDateTime(); break; case "CompileTime": _CompileTime = value.ToDateTime(); break;
case "Server": _Server = Convert.ToString(value); break; case "Server": _Server = Convert.ToString(value); break;
case "Enable": _Enable = value.ToBoolean(); break;
case "Tasks": _Tasks = value.ToInt(); break; case "Tasks": _Tasks = value.ToInt(); break;
case "Total": _Total = value.ToLong(); break; case "Total": _Total = value.ToLong(); break;
case "Success": _Success = value.ToLong(); break; case "Success": _Success = value.ToLong(); break;
@ -305,6 +315,9 @@ public partial class AppOnline
/// <summary>服务端。客户端登录到哪个服务端IP加端口</summary> /// <summary>服务端。客户端登录到哪个服务端IP加端口</summary>
public static readonly Field Server = FindByName("Server"); public static readonly Field Server = FindByName("Server");
/// <summary>启用。是否允许申请任务</summary>
public static readonly Field Enable = FindByName("Enable");
/// <summary>任务数</summary> /// <summary>任务数</summary>
public static readonly Field Tasks = FindByName("Tasks"); public static readonly Field Tasks = FindByName("Tasks");
@ -374,6 +387,9 @@ public partial class AppOnline
/// <summary>服务端。客户端登录到哪个服务端IP加端口</summary> /// <summary>服务端。客户端登录到哪个服务端IP加端口</summary>
public const String Server = "Server"; public const String Server = "Server";
/// <summary>启用。是否允许申请任务</summary>
public const String Enable = "Enable";
/// <summary>任务数</summary> /// <summary>任务数</summary>
public const String Tasks = "Tasks"; public const String Tasks = "Tasks";

View File

@ -78,6 +78,7 @@
<Column Name="Version" DataType="String" Description="版本。客户端" /> <Column Name="Version" DataType="String" Description="版本。客户端" />
<Column Name="CompileTime" DataType="DateTime" Description="编译时间" /> <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
<Column Name="Server" DataType="String" Description="服务端。客户端登录到哪个服务端IP加端口" /> <Column Name="Server" DataType="String" Description="服务端。客户端登录到哪个服务端IP加端口" />
<Column Name="Enable" DataType="Boolean" Description="启用。是否允许申请任务" />
<Column Name="Tasks" DataType="Int32" Description="任务数" /> <Column Name="Tasks" DataType="Int32" Description="任务数" />
<Column Name="Total" DataType="Int64" Description="总数" /> <Column Name="Total" DataType="Int64" Description="总数" />
<Column Name="Success" DataType="Int64" Description="成功" /> <Column Name="Success" DataType="Int64" Description="成功" />

View File

@ -186,7 +186,7 @@ public class AppService
public AppOnline GetOnline(App app, String ip) public AppOnline GetOnline(App app, String ip)
{ {
var ins = $"{app.Name}@{ip}"; var ins = $"{app.Name}@{ip}";
var online = AppOnline.FindByInstance(ins) ?? new AppOnline { CreateIP = ip }; var online = AppOnline.FindByInstance(ins) ?? new AppOnline { Enable = true, CreateIP = ip };
online.AppID = app.ID; online.AppID = app.ID;
online.Instance = ins; online.Instance = ins;

View File

@ -152,7 +152,9 @@ public class JobService(AppService appService, ICacheProvider cacheProvider, ITr
if (job == null) throw new XException($"应用[{app.ID}/{app.Name}]下未找到作业[{jobName}]"); if (job == null) throw new XException($"应用[{app.ID}/{app.Name}]下未找到作业[{jobName}]");
if (job.DataTime.Year <= 2000) throw new XException("作业[{0}/{1}]未设置数据时间", job.ID, job.Name); if (job.DataTime.Year <= 2000) throw new XException("作业[{0}/{1}]未设置数据时间", job.ID, job.Name);
// 应用在线,但可能禁止向其分配任务
var online = _appService.GetOnline(app, ip); var online = _appService.GetOnline(app, ip);
if (!online.Enable) return [];
var list = new List<JobTask>(); var list = new List<JobTask>();