-
Couldn't load subscription status.
- Fork 0
License
Couldn't load subscription status.
xiaoyang-chen/file-watcher
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# file-watcher
## encapsulation of github.com/fsnotify/fsnotify and github.com/radovskyb/watcher
### example
```go
package main
import (
"fmt"
"os"
"os/signal"
"syscall"
"time"
"github.com/xiaoyang-chen/file-watcher/logger"
"github.com/xiaoyang-chen/file-watcher/watcher"
)
func main() {
fmt.Println("main start")
defer fmt.Println("main end")
// set watcher
// fsnotifywatcher
var fsnotifywatcher, err = watcher.NewFsnotifyWatcher(logger.NewStdLog(), func(etIn watcher.Event) (etOut watcher.Event, isSkip bool) {
fmt.Println("fsnotifywatcher", etIn.String())
return etIn, true
})
if err != nil {
panic(err)
}
defer fsnotifywatcher.Close()
fsnotifywatcher.AddPaths(".")
// radovskybwatcher
radovskybwatcher, err := watcher.NewRadovskybwatcherWatcher(logger.NewStdLog(), func(etIn watcher.Event) (etOut watcher.Event, isSkip bool) {
fmt.Println("radovskybwatcher", etIn.String())
return etIn, true
}, time.Second)
if err != nil {
panic(err)
}
defer radovskybwatcher.Close()
radovskybwatcher.AddPaths(".")
// notify os signal
var exitSign = make(chan os.Signal, 1)
go func() {
time.Sleep(5 * time.Second)
exitSign <- syscall.SIGINT
}()
signal.Notify(exitSign,
syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT,
)
<-exitSign
}
```
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published