2024-09-10 22:37:48 -03:00
|
|
|
package sdk
|
|
|
|
|
2024-09-25 22:38:31 -03:00
|
|
|
import "time"
|
2024-09-10 22:37:48 -03:00
|
|
|
|
2024-09-25 22:38:31 -03:00
|
|
|
var serial = 0
|
|
|
|
|
|
|
|
func pickNext(list []string) string {
|
|
|
|
serial++
|
|
|
|
return list[serial%len(list)]
|
|
|
|
}
|
2024-09-10 22:37:48 -03:00
|
|
|
|
2024-09-25 22:38:31 -03:00
|
|
|
func doThisNotMoreThanOnceAnHour(key string) (doItNow bool) {
|
|
|
|
if _dtnmtoah == nil {
|
|
|
|
go func() {
|
|
|
|
_dtnmtoah = make(map[string]time.Time)
|
|
|
|
for {
|
|
|
|
time.Sleep(time.Minute * 10)
|
|
|
|
_dtnmtoahLock.Lock()
|
|
|
|
now := time.Now()
|
|
|
|
for k, v := range _dtnmtoah {
|
|
|
|
if v.Before(now) {
|
|
|
|
delete(_dtnmtoah, k)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_dtnmtoahLock.Unlock()
|
|
|
|
}
|
|
|
|
}()
|
2024-09-10 22:37:48 -03:00
|
|
|
}
|
|
|
|
|
2024-09-25 22:38:31 -03:00
|
|
|
_dtnmtoahLock.Lock()
|
|
|
|
defer _dtnmtoahLock.Unlock()
|
|
|
|
|
|
|
|
_, exists := _dtnmtoah[key]
|
|
|
|
return !exists
|
2024-09-10 22:37:48 -03:00
|
|
|
}
|