From c1fae538ebbb8b09a5e9af048dd8391b817ba9f2 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sun, 30 Oct 2022 22:29:36 +0000 Subject: [PATCH] Main Poll() loop --- imap2asana.go | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/imap2asana.go b/imap2asana.go index 8ec6ba3..51ee156 100644 --- a/imap2asana.go +++ b/imap2asana.go @@ -2,10 +2,15 @@ package main import ( "fmt" + "log" + "math/rand" "os" + "time" ) func main() { + rand.Seed(time.Now().UnixNano()) + ic, err := NewImapClient( os.Getenv("IMAP_HOST"), os.Getenv("IMAP_USERNAME"), @@ -19,13 +24,18 @@ func main() { defer ic.Close() - tasks, err := ic.Poll() + err = Poll(ic) if err != nil { - panic(err) + log.Printf("%s", err) } - for _, task := range tasks { - fmt.Printf("%#v\n", task) + for { + time.Sleep(time.Duration(rand.Intn(60)) * time.Second) + + err := Poll(ic) + if err != nil { + log.Printf("%s", err) + } } } @@ -33,3 +43,16 @@ type Task struct { Name string HtmlNotes string } + +func Poll(ic *ImapClient) error { + tasks, err := ic.Poll() + if err != nil { + return err + } + + for _, task := range tasks { + fmt.Printf("%#v\n", task) + } + + return nil +}