early rapid development

This commit is contained in:
adman
2025-12-09 15:57:27 +01:00
parent ebf62c8d1c
commit 517ae499e2
9 changed files with 77 additions and 220 deletions
+16 -2
View File
@@ -13,13 +13,13 @@ type OnceTask struct {
Trigger time.Time
}
type Ticker struct {
type Timer struct {
Once []OnceTask
Interval []IntervalTask
Active bool
}
func (t *Ticker) Tick() (err error) {
func (t *Timer) Tick() (err error) {
if !t.Active {
return
}
@@ -47,3 +47,17 @@ func (t *Ticker) Tick() (err error) {
t.Once = triggerLater
return
}
func (t *Timer) Every(interval time.Duration, f func() error) {
t.Interval = append(t.Interval, IntervalTask{
F: f,
Interval: interval,
})
}
func (t *Timer) In(interval time.Duration, f func() error) {
t.Once = append(t.Once, OnceTask{
F: f,
Trigger: time.Now().Add(interval),
})
}