Flipper Cloud

Failsafe adapter

The Failsafe adapter wraps another adapter and fails safely when an exception is raised. This prevents issues like network hiccups from taking down an application using Flipper.

Installation

This adapter is included with the flipper gem.

Usage

Flipper.configure do |config|
  config.adapter do
    Flipper::Adapters::Failsafe.new(
      Flipper::Adapters::Redis.new(Redis.new),
      errors: [Redis::ConnectionError, Redis::TimeoutError]
    )
  end
end

The errors option defaults to [StandardError], which will rescue any exception raised. It is recommended to set it to specific errors that you anticipate could take down your application.

Warning: This adapter will silently swallow the errors that it encounters, including those encountered while updating features (like Flipper.enable :my_feature). You will likely want some other health check in place to notify you of issues.

Start flipping features with Flipper Cloud to get support, audit history, finer-grained permissions, multi-environment sync, and all of your projects in one place.

Prefer our open source Cloudless option? You can also choose from several tiers to sponsor Flipper on GitHub.