Um script rápido para remover seletivamente trabalhos com falha do Resque 1.x

Copie para o snippet abaixo e cole em um console do Rails

def delete_if
redis
= Resque.redis

(0...Resque::Failure.count).each do |i|
string = redis.lindex(:failed, i)
break if string.nil?

job
= Resque.decode(string)
remove = yield job
next unless remove

redis
.lrem(:failed, 1, string)
redo
end
end

Para excluir seletivamente um subconjunto de trabalhos com falha, digamos que exclua todos os trabalhos de notificação push que falharam devido a erros de http

delete_if do |job|
job
['payload']['class'] == 'SendPushNotification' &&
job
['exception'] == 'Pusher::HTTPError'
end

Aqui está um resumo do mesmo https://gist.github.com/nisanth074/11332107