mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	执行IP名单更新任务时防止阻塞/优化节点升级代码
This commit is contained in:
		@@ -297,7 +297,12 @@ func (this *Node) loop() error {
 | 
			
		||||
	for _, task := range tasksResp.NodeTasks {
 | 
			
		||||
		switch task.Type {
 | 
			
		||||
		case "ipItemChanged":
 | 
			
		||||
			iplibrary.IPListUpdateNotify <- true
 | 
			
		||||
			// 防止阻塞
 | 
			
		||||
			select {
 | 
			
		||||
			case iplibrary.IPListUpdateNotify <- true:
 | 
			
		||||
			default:
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// 修改为已同步
 | 
			
		||||
			_, err = rpcClient.NodeTaskRPC().ReportNodeTaskDone(nodeCtx, &pb.ReportNodeTaskDoneRequest{
 | 
			
		||||
@@ -334,11 +339,12 @@ func (this *Node) loop() error {
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		case "nodeVersionChanged":
 | 
			
		||||
			if !sharedUpgradeManager.IsInstalling() {
 | 
			
		||||
				goman.New(func() {
 | 
			
		||||
					sharedUpgradeManager.Start()
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		case "scriptsChanged":
 | 
			
		||||
			err = this.reloadCommonScripts()
 | 
			
		||||
			if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,11 @@ func (this *UpgradeManager) Start() {
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsInstalling 检查是否正在安装
 | 
			
		||||
func (this *UpgradeManager) IsInstalling() bool {
 | 
			
		||||
	return this.isInstalling
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *UpgradeManager) install() error {
 | 
			
		||||
	// 检查是否有已下载但未安装成功的
 | 
			
		||||
	if len(this.lastFile) > 0 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user