...
1 package backoff
2
3 import (
4 "context"
5 "log"
6 )
7
8 func ExampleRetry() {
9
10 operation := func() error {
11 return nil
12 }
13
14 err := Retry(operation, NewExponentialBackOff())
15 if err != nil {
16
17 return
18 }
19
20
21 }
22
23 func ExampleRetryContext() {
24
25 ctx := context.Background()
26
27
28 operation := func() error {
29 return nil
30 }
31
32 b := WithContext(NewExponentialBackOff(), ctx)
33
34 err := Retry(operation, b)
35 if err != nil {
36
37 return
38 }
39
40
41 }
42
43 func ExampleTicker() {
44
45 operation := func() error {
46 return nil
47 }
48
49 ticker := NewTicker(NewExponentialBackOff())
50
51 var err error
52
53
54
55 for range ticker.C {
56 if err = operation(); err != nil {
57 log.Println(err, "will retry...")
58 continue
59 }
60
61 ticker.Stop()
62 break
63 }
64
65 if err != nil {
66
67 return
68 }
69
70
71 }
72
View as plain text