Worker Resque traci połączenie z bazą

Raz na pare dni worker wywala się i dostaje błąd:

Exception
ActiveRecord::StatementInvalid
Error
Mysql2::Error: Lost connection to MySQL server during query: SHOW FIELDS FROM users
/bundle/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/mysql2_adapter.rb:283:in `query’

Co może być przyczyną? Ewentualnie, czy da się np złapać wyjątek i zrestartować jakoś automatycznie workera ?

begin

rescue ActiveRecord::StatementInvalid
retry
end

??

plus to:
http://whatcodecraves.com/articles/2010/06/22/resque_cheatsheet/index.html

i cześć z reconect na samym dole

jest nawet gdzies gotowiec na retry dla workerów z licznikiem by jak coś na prawdę mu nie pozwala ukończyć zadania by w kółko nie chodził bez końca

dzięki @gotar! mówisz o tym gotowcu https://gist.github.com/250080 ?

No albo daj sobie zwykly blok begin rescue … end

i przed retry dla pewnosci daj ActiveRecord::Base.reconnect!

i bedzie to samo

a o sam gotowiec to mi chodzilo o rem, plugin ktory robi mniej wiecej cos takiego

@i = 0 rescue .... @i++ retry if @i < 10 end
Czyli jakiś licznik by ci sie nie zapętliło, ale możesz zacząć od tego co proponują oni (bez licznika)