···95959696 var result checker.Response
97979898+ var retry int
9999+ if req.Retry == 0 {
100100+ retry = int(req.Retry)
101101+ } else {
102102+ retry = 3
103103+ }
104104+98105 op := func() error {
99106 called++
100107 res, err := checker.Http(ctx, requestClient, req)
···152159 statusCode := statusCode(res.Status)
153160154161 var isSuccessfull bool = true
155155-156162 if len(req.RawAssertions) > 0 {
157163 for _, a := range req.RawAssertions {
158164 var assert request.Assertion
···195201 }
196202197203 // let's retry at least once if the status code is not successful.
198198- if !isSuccessfull && called < 2 {
204204+ if !isSuccessfull && called < retry {
199205 return fmt.Errorf("unable to ping: %v with status %v", res, res.Status)
200206 }
201207···277283 return nil
278284 }
279285280280- if err := backoff.Retry(op, backoff.WithMaxRetries(backoff.NewExponentialBackOff(), 3)); err != nil {
286286+ if err := backoff.Retry(op, backoff.WithMaxRetries(backoff.NewExponentialBackOff(), uint64(retry))); err != nil {
281287 id, e := uuid.NewV7()
282288 if e != nil {
283289 log.Ctx(ctx).Error().Err(e).Msg("failed to send event to tinybird")
+8-3
apps/checker/handlers/tcp.go
···8686 trigger = req.Trigger
8787 }
88888989- var called int
90899190 var response checker.TCPResponse
92919292+ var retry int
9393+ if req.Retry == 0 {
9494+ retry = int(req.Retry)
9595+ } else {
9696+ retry = 3
9797+ }
9898+9399 op := func() error {
9494- called++
95100 res, err := checker.PingTcp(int(req.Timeout), req.URI)
9610197102 if err != nil {
···193198 return nil
194199 }
195200196196- if err := backoff.Retry(op, backoff.WithMaxRetries(backoff.NewExponentialBackOff(), 3)); err != nil {
201201+ if err := backoff.Retry(op, backoff.WithMaxRetries(backoff.NewExponentialBackOff(), uint64(retry))); err != nil {
197202198203 id, e := uuid.NewV7()
199204 if e != nil {
···200200 timeout: z.number().nullish().default(45000).openapi({
201201 description: "The timeout of the request in milliseconds",
202202 }),
203203+ retry: z.number().default(3).openapi({
204204+ description: "The number of retries to attempt",
205205+ }),
203206 jobType: z.enum(monitorJobTypes).optional().default("http").openapi({
204207 description: "The type of the monitor",
205208 }),