From 9a85c5eb539cd5997762f201a89d16dd3577f04c Mon Sep 17 00:00:00 2001 From: john Date: Mon, 5 Nov 2018 19:21:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bgfsnotify=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E6=95=B0=E9=99=90=E5=88=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/os/gfsnotify/gfsnotify.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/g/os/gfsnotify/gfsnotify.go b/g/os/gfsnotify/gfsnotify.go index e7f644559..2d53c7d55 100644 --- a/g/os/gfsnotify/gfsnotify.go +++ b/g/os/gfsnotify/gfsnotify.go @@ -14,6 +14,9 @@ import ( "gitee.com/johng/gf/g/container/gtype" "gitee.com/johng/gf/g/encoding/ghash" "gitee.com/johng/gf/g/os/gcache" + "gitee.com/johng/gf/g/os/gcmd" + "gitee.com/johng/gf/g/os/genv" + "gitee.com/johng/gf/g/util/gconv" "gitee.com/johng/gf/third/github.com/fsnotify/fsnotify" ) @@ -53,15 +56,24 @@ const ( var ( // 全局监听对象,方便应用端调用 - watchers = make([]*Watcher, DEFAULT_WATCHER_COUNT) + watchers []*Watcher // 默认的watchers是否初始化,使用时才创建 watcherInited = gtype.NewBool() ) -// 初始化创建8个watcher对象,用于包默认管理监听 +// 初始化创建watcher对象,用于包默认管理监听 func initWatcher() { if !watcherInited.Set(true) { - for i := 0; i < DEFAULT_WATCHER_COUNT; i++ { + // 默认的创建的inotify数量 + watcherCount := gconv.Int(genv.Get("GF_INOTIFY_COUNT")) + if watcherCount == 0 { + watcherCount = gconv.Int(gcmd.Option.Get("gf.inotify-count")) + } + if watcherCount == 0 { + watcherCount = DEFAULT_WATCHER_COUNT + } + watchers = make([]*Watcher, watcherCount) + for i := 0; i < watcherCount; i++ { if w, err := New(); err == nil { watchers[i] = w } else {