diff --git a/workflow/executor/executor.go b/workflow/executor/executor.go index 7cbb0516321d..3b4877cfedfa 100644 --- a/workflow/executor/executor.go +++ b/workflow/executor/executor.go @@ -942,14 +942,17 @@ func watchFileChanges(ctx context.Context, pollInterval time.Duration, filePath } file, err := os.Stat(filePath) - if err != nil { + if os.IsNotExist(err) { + // noop + } else if err != nil { log.Fatal(err) + } else { + newModTime := file.ModTime() + if modTime != nil && !modTime.Equal(file.ModTime()) { + res <- struct{}{} + } + modTime = &newModTime } - newModTime := file.ModTime() - if modTime != nil && !modTime.Equal(file.ModTime()) { - res <- struct{}{} - } - modTime = &newModTime time.Sleep(pollInterval) } }()