github.com/gogf/gf@v1.16.9/.example/os/gfsnotify/gfsnotify_callback_folder.go (about)

     1  package main
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/gogf/gf/os/gfsnotify"
     7  	"github.com/gogf/gf/os/glog"
     8  	"github.com/gogf/gf/os/gtimer"
     9  )
    10  
    11  func main() {
    12  	callback, err := gfsnotify.Add("/home/john/temp", func(event *gfsnotify.Event) {
    13  		glog.Println("callback")
    14  	})
    15  	if err != nil {
    16  		panic(err)
    17  	}
    18  
    19  	// 在此期间创建文件、目录、修改文件、删除文件
    20  
    21  	// 20秒后移除回调函数注册,所有的回调都移除,不再有任何打印信息输出
    22  	gtimer.SetTimeout(20*time.Second, func() {
    23  		gfsnotify.RemoveCallback(callback.Id)
    24  		glog.Println("remove callback")
    25  	})
    26  
    27  	select {}
    28  }