15
15
Delayed ,
16
16
DelayedTimestamp
17
17
)
18
+ from base64 import b64decode
18
19
19
20
HOST = ResQ ("localhost:6379" )
20
21
MY_ROOT = os .path .join (os .path .dirname (__file__ ), 'media' )
@@ -45,8 +46,6 @@ def failed(request):
45
46
46
47
@post ('/failed/retry/' )
47
48
def failed_retry (request ):
48
- from base64 import b64decode
49
- from pyres import failure
50
49
try :
51
50
import json
52
51
except ImportError :
@@ -59,8 +58,6 @@ def failed_retry(request):
59
58
60
59
@post ('/failed/delete/' )
61
60
def failed_delete (request ):
62
- from base64 import b64decode
63
- from pyres import failure
64
61
try :
65
62
import json
66
63
except ImportError :
@@ -70,6 +67,22 @@ def failed_delete(request):
70
67
failure .delete (HOST , job )
71
68
raise Redirect ('/failed/' )
72
69
70
+ @get ('/failed/delete_all/' )
71
+ def delete_all_failed (request ):
72
+ #move resque:failed to resque:failed-staging
73
+ HOST .redis .rename ('resque:failed' ,'resque:failed-staging' )
74
+ HOST .redis .delete ('resque:failed-staging' )
75
+ raise Redirect ('/failed/' )
76
+
77
+
78
+ @get ('/failed/retry_all' )
79
+ def retry_failed (request , number = 5000 ):
80
+ failures = failure .all (HOST , 0 , number )
81
+ for f in failures :
82
+ j = b64decode (f ['redis_value' ])
83
+ failure .retry (HOST , f ['queue' ], j )
84
+ raise Redirect ('/failed/' )
85
+
73
86
@get ('/workers/(?P<worker_id>\w.+)/' )
74
87
def worker (request , worker_id ):
75
88
return str (Worker (HOST , worker_id ).render ())
0 commit comments