@@ -19,6 +19,24 @@ func handleTaskError(r *colly.Request, blocked bool, err error) {
1919 taskClient := r .Ctx .Get (metadataTaskClient )
2020 taskHash := r .Ctx .Get (metadataTaskHash )
2121
22+ taskQueue .ConfirmTaskCompletion (taskClient , taskHash )
23+ if taskRetries < viper .GetInt ("taskretries" ) {
24+ taskQueue .AddTask (
25+ taskClient ,
26+ taskHash ,
27+ r .URL .String (),
28+ viper .GetBool ("taskretryfront" ),
29+ map [string ]string {
30+ metadataTaskAddedAt : r .Ctx .Get (metadataTaskAddedAt ),
31+ metadataTaskClient : taskClient ,
32+ metadataTaskHash : taskHash ,
33+ metadataTaskRegion : r .Ctx .Get (metadataTaskRegion ),
34+ metadataTaskRetries : strconv .Itoa (taskRetries + 1 ),
35+ metadataTaskType : r .Ctx .Get (metadataTaskType ),
36+ },
37+ )
38+ }
39+
2240 if blocked {
2341 logger .Error (fmt .Sprintf ("Hit Imperva while loading %v, retries: %v" , r .URL , taskRetries ))
2442 } else if strings .Contains (err .Error (), "http2: Transport received GOAWAY from server ErrCode:INTERNAL_ERROR" ) {
@@ -40,23 +58,4 @@ func handleTaskError(r *colly.Request, blocked bool, err error) {
4058 } else {
4159 taskQueue .Pause (time .Duration (60 - time .Now ().Second ()) * time .Second )
4260 }
43-
44- taskQueue .ConfirmTaskCompletion (taskClient , taskHash )
45-
46- if taskRetries < viper .GetInt ("taskretries" ) {
47- taskQueue .AddTask (
48- taskClient ,
49- taskHash ,
50- r .URL .String (),
51- viper .GetBool ("taskretryfront" ),
52- map [string ]string {
53- metadataTaskAddedAt : r .Ctx .Get (metadataTaskAddedAt ),
54- metadataTaskClient : taskClient ,
55- metadataTaskHash : taskHash ,
56- metadataTaskRegion : r .Ctx .Get (metadataTaskRegion ),
57- metadataTaskRetries : strconv .Itoa (taskRetries + 1 ),
58- metadataTaskType : r .Ctx .Get (metadataTaskType ),
59- },
60- )
61- }
6261}
0 commit comments