mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-20 06:20:08 +08:00
✏️ 修复 manager 定时器错误
This commit is contained in:
parent
58e075e6ff
commit
16624a9596
@ -78,15 +78,19 @@ func (c *Clock) RegisterTimer(ts *Timer, save bool) bool {
|
|||||||
c.entries[key] = eid
|
c.entries[key] = eid
|
||||||
c.entmu.Unlock()
|
c.entmu.Unlock()
|
||||||
if save {
|
if save {
|
||||||
err = c.AddTimer(ts)
|
err = c.AddTimerIntoDB(ts)
|
||||||
|
}
|
||||||
|
if err == nil {
|
||||||
|
err = c.AddTimerIntoMap(ts)
|
||||||
}
|
}
|
||||||
return err == nil
|
return err == nil
|
||||||
}
|
}
|
||||||
ts.Alert = err.Error()
|
ts.Alert = err.Error()
|
||||||
} else {
|
} else {
|
||||||
if save {
|
if save {
|
||||||
_ = c.AddTimer(ts)
|
_ = c.AddTimerIntoDB(ts)
|
||||||
}
|
}
|
||||||
|
_ = c.AddTimerIntoMap(ts)
|
||||||
for ts.En() {
|
for ts.En() {
|
||||||
nextdate := ts.nextWakeTime()
|
nextdate := ts.nextWakeTime()
|
||||||
sleepsec := time.Until(nextdate)
|
sleepsec := time.Until(nextdate)
|
||||||
@ -161,11 +165,18 @@ func (c *Clock) GetTimer(key uint32) (t *Timer, ok bool) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddTimer 添加定时器
|
// AddTimerIntoDB 添加定时器
|
||||||
func (c *Clock) AddTimer(t *Timer) (err error) {
|
func (c *Clock) AddTimerIntoDB(t *Timer) (err error) {
|
||||||
|
c.timersmu.Lock()
|
||||||
|
err = c.db.Insert("timer", t)
|
||||||
|
c.timersmu.Unlock()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddTimerIntoMap 添加定时器到缓存
|
||||||
|
func (c *Clock) AddTimerIntoMap(t *Timer) (err error) {
|
||||||
c.timersmu.Lock()
|
c.timersmu.Lock()
|
||||||
(*c.timers)[t.ID] = t
|
(*c.timers)[t.ID] = t
|
||||||
err = c.db.Insert("timer", t)
|
|
||||||
c.timersmu.Unlock()
|
c.timersmu.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ func TestNextWakeTime(t *testing.T) {
|
|||||||
func TestClock(t *testing.T) {
|
func TestClock(t *testing.T) {
|
||||||
db := &sql.Sqlite{DBPath: "test.db"}
|
db := &sql.Sqlite{DBPath: "test.db"}
|
||||||
c := NewClock(db)
|
c := NewClock(db)
|
||||||
c.AddTimer(GetFilledTimer([]string{"", "12", "-1", "12", "0", "", "test"}, 0, 0, false))
|
c.AddTimerIntoDB(GetFilledTimer([]string{"", "12", "-1", "12", "0", "", "test"}, 0, 0, false))
|
||||||
t.Log(c.ListTimers(0))
|
t.Log(c.ListTimers(0))
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user