使用 tick 做定时
This commit is contained in:
parent
8e888aa936
commit
7e805fd421
14
conf/wide.go
14
conf/wide.go
|
@ -60,7 +60,8 @@ var rawWide conf
|
|||
// 如果是特别严重的问题(比如 $GOPATH 不存在)则退出进程,另一些不太严重的问题(比如 gocode 不存在)则放入全局通知队列.
|
||||
func FixedTimeCheckEnv() {
|
||||
go func() {
|
||||
for {
|
||||
// 7 分钟进行一次检查环境
|
||||
for _ = range time.Tick(time.Minute * 7) {
|
||||
if "" == os.Getenv("GOPATH") {
|
||||
glog.Fatal("Not found $GOPATH")
|
||||
os.Exit(-1)
|
||||
|
@ -87,23 +88,18 @@ func FixedTimeCheckEnv() {
|
|||
event.EventQueue <- event.EvtCodeIDEStubNotFound
|
||||
glog.Warningf("Not found ide_stub [%s]", ide_stub)
|
||||
}
|
||||
|
||||
// TODO: 7 分钟进行一次检查环境
|
||||
time.Sleep(time.Second * 7)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
// 定时(10 分钟)保存配置.
|
||||
// 定时(1 分钟)保存配置.
|
||||
//
|
||||
// 主要目的是保存用户会话内容,以备下一次用户打开 Wide 时进行会话还原.
|
||||
func FixedTimeSave() {
|
||||
go func() {
|
||||
for {
|
||||
// 1 分钟进行一次配置保存
|
||||
for _ = range time.Tick(time.Minute) {
|
||||
Save()
|
||||
|
||||
// 10 分钟进行一次配置保存
|
||||
time.Sleep(time.Minute * 10)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
|
|
@ -71,7 +71,8 @@ var mutex sync.Mutex
|
|||
// 无效会话:在检查时间内 30 分钟都没有使用过的会话,参考 WideSession.Updated 字段.
|
||||
func FixedTimeRelease() {
|
||||
go func() {
|
||||
for {
|
||||
// 1 小时进行一次检查
|
||||
for _ = range time.Tick(time.Hour) {
|
||||
hour, _ := time.ParseDuration("-30m")
|
||||
threshold := time.Now().Add(hour)
|
||||
|
||||
|
@ -82,8 +83,6 @@ func FixedTimeRelease() {
|
|||
WideSessions.Remove(s.Id)
|
||||
}
|
||||
}
|
||||
|
||||
time.Sleep(time.Hour)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue