Handle Dalli :: RingError - Нет сервера в Синатре - PullRequest
4 голосов
/ 18 мая 2011

У меня есть приложение Sinatra, работающее на Heroku, которое использует Dalli для поддержки поддержки memcached. Иногда сервер memcached не отвечает, и я получаю следующее:

Dalli::RingError - No server available

Как лучше всего справиться с этой ситуацией?

1 Ответ

3 голосов
/ 17 августа 2011

Я решил обработать это, явно игнорируя ошибку, так как нет никаких причин, по которым функциональность моего приложения не должна работать, если компонент кэширования не работает. Вы, конечно, могли бы реализовать оператор log или что угодно, но я решил ничего не делать.

Я создал свой собственный класс Cache и использую его для изоляции кода своего домена от Далли. Вот соответствующая часть:

def Cache.get(key)
  Configuration.dalliClient.get(key)    
rescue Dalli::RingError
  nil
end
...