diff --git a/internal/web/actions/default/clusters/cluster/settings/index.go b/internal/web/actions/default/clusters/cluster/settings/index.go index 8c441fb2..6f4a4b93 100644 --- a/internal/web/actions/default/clusters/cluster/settings/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/index.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" + "github.com/iwind/TeaGo/types" ) type IndexAction struct { @@ -65,22 +66,32 @@ func (this *IndexAction) RunGet(params struct { this.Data["timeZoneLocation"] = nodeconfigs.FindTimeZoneLocation(cluster.TimeZone) this.Data["cluster"] = maps.Map{ - "id": cluster.Id, - "name": cluster.Name, - "installDir": cluster.InstallDir, - "timeZone": cluster.TimeZone, + "id": cluster.Id, + "name": cluster.Name, + "installDir": cluster.InstallDir, + "timeZone": cluster.TimeZone, + "nodeMaxThreads": cluster.NodeMaxThreads, + "nodeTCPMaxConnections": cluster.NodeTCPMaxConnections, } + // 默认值 + this.Data["defaultNodeMaxThreads"] = nodeconfigs.DefaultMaxThreads + this.Data["defaultNodeMaxThreadsMin"] = nodeconfigs.DefaultMaxThreadsMin + this.Data["defaultNodeMaxThreadsMax"] = nodeconfigs.DefaultMaxThreadsMax + this.Data["defaultNodeTCPMaxConnections"] = nodeconfigs.DefaultTCPMaxConnections + this.Show() } // RunPost 保存设置 func (this *IndexAction) RunPost(params struct { - ClusterId int64 - Name string - GrantId int64 - InstallDir string - TimeZone string + ClusterId int64 + Name string + GrantId int64 + InstallDir string + TimeZone string + NodeMaxThreads int32 + NodeTCPMaxConnections int32 Must *actions.Must }) { @@ -91,12 +102,21 @@ func (this *IndexAction) RunPost(params struct { Field("name", params.Name). Require("请输入集群名称") + if params.NodeMaxThreads > 0 { + params.Must. + Field("nodeMaxThreads", params.NodeMaxThreads). + Gte(int64(nodeconfigs.DefaultMaxThreadsMin), "单节点最大线程数最小值不能小于"+types.String(nodeconfigs.DefaultMaxThreadsMin)). + Lte(int64(nodeconfigs.DefaultMaxThreadsMax), "单节点最大线程数最大值不能大于"+types.String(nodeconfigs.DefaultMaxThreadsMax)) + } + _, err := this.RPC().NodeClusterRPC().UpdateNodeCluster(this.AdminContext(), &pb.UpdateNodeClusterRequest{ - NodeClusterId: params.ClusterId, - Name: params.Name, - NodeGrantId: params.GrantId, - InstallDir: params.InstallDir, - TimeZone: params.TimeZone, + NodeClusterId: params.ClusterId, + Name: params.Name, + NodeGrantId: params.GrantId, + InstallDir: params.InstallDir, + TimeZone: params.TimeZone, + NodeMaxThreads: params.NodeMaxThreads, + NodeTCPMaxConnections: params.NodeTCPMaxConnections, }) if err != nil { this.ErrorPage(err) diff --git a/web/views/@default/clusters/cluster/settings/index.html b/web/views/@default/clusters/cluster/settings/index.html index 1da93895..c857e6e5 100644 --- a/web/views/@default/clusters/cluster/settings/index.html +++ b/web/views/@default/clusters/cluster/settings/index.html @@ -20,27 +20,46 @@
当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用/$登录用户/edge-node 目录。
+当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用$登录用户HOME路径/edge-node 目录。
节点记录日志使用的时区。
-节点记录日志使用的时区。
+取值在{{defaultNodeMaxThreadsMin}}和{{defaultNodeMaxThreadsMax}}之间;如果为0,则默认为{{defaultNodeMaxThreads}}。
+如果为0,则默认为{{defaultNodeTCPMaxConnections}}。
+当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用/$登录用户/edge-node +
当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用$登录用户HOME路径/edge-node 目录。