ruby on rails - Redis iteratively creating broken queues similar to: ["[[:failed, []], []]", []] -
"fixed"
the problem 'went away' when reset server. seems resque stores info on server until can put redis.
original problem:
i'm using resque redis, ruby on rails.
my redis has gone bit mad. it's creating many broken queues.
when click on "stats" error:
runtimeerror @ /resque/stats/resque can't add new key hash during iteration
i've tried redis.flushall
, no effect.
here's full list of broken queues: http://snag.gy/a3owg.jpg
name jobs ["[[:failed, []], []]", []] 0 ["[[[:failed, []], []], []]", []] 0 ["[[[[:failed, []], []], []], []]", []] 0 [:failed, []] 0 [["[[:failed, []], []]", []], []] 0 [["[[[:failed, []], []], []]", []], []] 0 [["[[[[:failed, []], []], []], []]", []], []] 0 [[:failed, []], []] 0 [[["[[:failed, []], []]", []], []], []] 0 [[["[[[:failed, []], []], []]", []], []], []] 0 [[["[[[[:failed, []], []], []], []]", []], []], []] 0 [[[:failed, []], []], []] 0 [[[["[[:failed, []], []]", []], []], []], []] 0 [[[["[[[:failed, []], []], []]", []], []], []], []] 0 [[[["[[[[:failed, []], []], []], []]", []], []], []], []] 0 [[[[:failed, []], []], []], []] 0 [[[[["[[:failed, []], []]", []], []], []], []], []] 0 [[[[["[[[:failed, []], []], []]", []], []], []], []], []] 0 [[[[["[[[[:failed, []], []], []], []]", []], []], []], []], []] 0 [[[[[:failed, []], []], []], []], []] 0 [[[[[["[[:failed, []], []]", []], []], []], []], []], []] 0 [[[[[["[[[:failed, []], []], []]", []], []], []], []], []], []] 0 [[[[[[:failed, []], []], []], []], []], []] 0 [[[[[[["[[:failed, []], []]", []], []], []], []], []], []], []] 0 [[[[[[[:failed, []], []], []], []], []], []], []] 0 [[[[[[[[:failed, []], []], []], []], []], []], []], []] 0 [[[[[[[[[:failed, []], []], []], []], []], []], []], []], []] 0 failed 0
here's code create tasks - believe might explain iteration.
class registrationemails::leadcreatedjob @queue = :slow_emails def self.perform(application_id) # no check - send when added application = application.find_by_id(application_id) if application # send email leadmailer.lead_created(application_id).deliver_now # queue second part of campaign resque.enqueue_in(1.minute, registrationemails::leadcreatedfollowupjob, application_id) end end end
Comments
Post a Comment