1515 Delayed ,
1616 DelayedTimestamp
1717)
18+ from base64 import b64decode
1819
1920HOST = ResQ ("localhost:6379" )
2021MY_ROOT = os .path .join (os .path .dirname (__file__ ), 'media' )
@@ -45,8 +46,6 @@ def failed(request):
4546
4647@post ('/failed/retry/' )
4748def failed_retry (request ):
48- from base64 import b64decode
49- from pyres import failure
5049 try :
5150 import json
5251 except ImportError :
@@ -59,8 +58,6 @@ def failed_retry(request):
5958
6059@post ('/failed/delete/' )
6160def failed_delete (request ):
62- from base64 import b64decode
63- from pyres import failure
6461 try :
6562 import json
6663 except ImportError :
@@ -70,6 +67,22 @@ def failed_delete(request):
7067 failure .delete (HOST , job )
7168 raise Redirect ('/failed/' )
7269
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+
7386@get ('/workers/(?P<worker_id>\w.+)/' )
7487def worker (request , worker_id ):
7588 return str (Worker (HOST , worker_id ).render ())
0 commit comments