使用 tick 做定时

This commit is contained in:
Liang Ding 2014-10-10 14:24:47 +08:00
parent 8e888aa936
commit 7e805fd421
2 changed files with 7 additions and 12 deletions

View File

@ -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)
}
}()
}

View File

@ -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)
}
}()
}