Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Closure = func() func(chan int) { retryIn := 0 fibonacci := Fibonacci() return func(stopChan chan int) { if retryIn > 0 { durationString := fmt.Sprintf("%vs", retryIn) duration, _ := time.ParseDuration(durationString) log.WARNING.Printf("Retrying in %v seconds", retryIn) select { case <-stopChan: break case <-time.After(duration): break } } retryIn = fibonacci() } }
Closure - a useful closure we can use when there is a problem connecting to the broker. It uses Fibonacci sequence to space out retry attempts
Functions ¶
func Fibonacci ¶
func Fibonacci() func() int
Fibonacci returns successive Fibonacci numbers starting from 1
func FibonacciNext ¶
FibonacciNext returns next number in Fibonacci sequence greater than start
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.