修复 错误
This commit is contained in:
		
							
								
								
									
										28
									
								
								taskman.go
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								taskman.go
									
									
									
									
									
								
							@@ -47,7 +47,7 @@ func newTaskMan(delay int, callUrl string) *TaskMan {
 | 
			
		||||
 | 
			
		||||
func (t *TaskMan) Put(cf *changedFile) {
 | 
			
		||||
	if t.delay < 1 {
 | 
			
		||||
		t.preRun(cf)
 | 
			
		||||
		t.dispatcher(cf)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	t.putLock.Lock()
 | 
			
		||||
@@ -58,20 +58,24 @@ func (t *TaskMan) Put(cf *changedFile) {
 | 
			
		||||
		if t.lastTaskId > cf.Changed {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if keyInInstruction(InstShouldFinish) {
 | 
			
		||||
			t.waitQueue = append(t.waitQueue, cf)
 | 
			
		||||
			if t.cmd == nil {
 | 
			
		||||
				t.waitChan <- true
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
			logInfo("Waitting for the last task to finish")
 | 
			
		||||
			logInfo("Number of waiting tasks:", len(t.waitQueue))
 | 
			
		||||
		} else {
 | 
			
		||||
			t.preRun(cf)
 | 
			
		||||
		}
 | 
			
		||||
		t.dispatcher(cf)
 | 
			
		||||
	}()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (t *TaskMan) dispatcher(cf *changedFile) {
 | 
			
		||||
	if keyInInstruction(InstShouldFinish) {
 | 
			
		||||
		t.waitQueue = append(t.waitQueue, cf)
 | 
			
		||||
		if t.cmd == nil {
 | 
			
		||||
			t.waitChan <- true
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		logInfo("Waitting for the last task to finish")
 | 
			
		||||
		logInfo("Number of waiting tasks:", len(t.waitQueue))
 | 
			
		||||
	} else {
 | 
			
		||||
		t.preRun(cf)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (t *TaskMan) preRun(cf *changedFile) {
 | 
			
		||||
	if t.cmd != nil && t.cmd.Process != nil {
 | 
			
		||||
		if err := t.cmd.Process.Kill(); err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user