mirror of
https://github.com/yusing/godoxy.git
synced 2026-01-11 22:30:47 +01:00
26 lines
555 B
Go
26 lines
555 B
Go
package watcher
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/yusing/godoxy/internal/common"
|
|
"github.com/yusing/goutils/task"
|
|
)
|
|
|
|
var (
|
|
configDirWatcher *DirWatcher
|
|
configDirWatcherMu sync.Mutex
|
|
)
|
|
|
|
// create a new file watcher for file under ConfigBasePath.
|
|
func NewConfigFileWatcher(filename string) Watcher {
|
|
configDirWatcherMu.Lock()
|
|
defer configDirWatcherMu.Unlock()
|
|
|
|
if configDirWatcher == nil {
|
|
t := task.RootTask("config_dir_watcher", false)
|
|
configDirWatcher = NewDirectoryWatcher(t, common.ConfigBasePath)
|
|
}
|
|
return configDirWatcher.Add(filename)
|
|
}
|