Compare commits

..

3 Commits

Author SHA1 Message Date
Bel LaPointe
29ae26153f add logs 2022-01-11 07:58:08 -05:00
Bel LaPointe
8109bb3fa0 sleep on start before getting email 2022-01-11 07:57:11 -05:00
Bel LaPointe
27605997c1 emailer configurable interval 2022-01-11 07:50:58 -05:00
4 changed files with 16 additions and 10 deletions

View File

@@ -1,7 +1,8 @@
{ {
"Interval": { "Interval": {
"OK": "6h0m0s", "OK": "6h0m0s",
"Error": "6h" "Error": "6h",
"Email": "15m"
}, },
"States": [ "States": [
"GA" "GA"

View File

@@ -11,6 +11,7 @@ import (
type Config struct { type Config struct {
Interval struct { Interval struct {
Email Duration
OK Duration OK Duration
Error Duration Error Duration
} }

19
main.go
View File

@@ -21,16 +21,15 @@ var stateFinder = regexp.MustCompile(`[A-Za-z]+`)
func main() { func main() {
lock := &sync.Mutex{} lock := &sync.Mutex{}
go func() { go func() {
c := time.NewTicker(time.Minute) for {
for range c.C { time.Sleep(config.Get().Interval.Email.Get())
if !config.Get().EmailerEnabled { if config.Get().EmailerEnabled {
continue lock.Lock()
if err := email(); err != nil {
log.Print(err)
}
lock.Unlock()
} }
lock.Lock()
if err := email(); err != nil {
log.Print(err)
}
lock.Unlock()
} }
}() }()
if err := _main(); err != nil { if err := _main(); err != nil {
@@ -111,9 +110,11 @@ func _main() error {
} }
func _mainOne() error { func _mainOne() error {
log.Println("config.refreshing...")
if err := config.Refresh(); err != nil { if err := config.Refresh(); err != nil {
return err return err
} }
log.Println("once...")
if err := once(); err != nil { if err := once(); err != nil {
return err return err
} }

View File

@@ -4,7 +4,10 @@ todo:
- banlist criteria like vendors, brokers, metadata - banlist criteria like vendors, brokers, metadata
- quiet hours - quiet hours
- setup pa on element - setup pa on element
- accept states via element for one system
done: done:
- configurable email interval
- jitter on intervals, including dedicated err span
- email doesnt get all matches - email doesnt get all matches
- send jobs - send jobs
- read jobs - read jobs