"log"
"os"
"path"
- "time"
+ "github.com/fsnotify/fsnotify"
"github.com/mattermost/mattermost-server/v6/model"
"go.cypherpunks.ru/recfile"
"go.stargrave.org/mmc"
for _, m := range ms {
printPost(m)
}
- fi, err := fd.Stat()
+
+ watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatalln(err)
}
- size := fi.Size()
+ if err = watcher.Add(pth); err != nil {
+ log.Fatalln(err)
+ }
for {
- time.Sleep(mmc.SleepTime)
- fi, err = os.Stat(pth)
- if fi.Size() == size {
- continue
+ select {
+ case err = <-watcher.Errors:
+ log.Fatalln(err)
+ case event := <-watcher.Events:
+ if !event.Has(fsnotify.Write) {
+ continue
+ }
}
unlock, err = mmc.Lock(lockPth)
if err != nil {
}
printPost(m)
}
- size = fi.Size()
unlock()
}
}