// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 package dispatchcloud import ( "sync" "time" ) type logger interface { Printf(string, ...interface{}) Warnf(string, ...interface{}) Debugf(string, ...interface{}) } var nextSpam = map[string]time.Time{} var nextSpamMtx sync.Mutex func unspam(msg string) bool { nextSpamMtx.Lock() defer nextSpamMtx.Unlock() if nextSpam[msg].Before(time.Now()) { nextSpam[msg] = time.Now().Add(time.Minute) return true } return false }