Skip to content

Flipper Feature Flags

nciemniak edited this page Sep 11, 2020 · 1 revision

Panoptes uses Flipper to set up and toggle feature flags on the live staging and production servers. This is a list of active features that can be flipped including their default state. Go to https://panoptes.zooniverse.org/flipper to enable or disable one of these flags.

cellect, designator (ON)

When disabled, Panoptes will not use the disabled service for subject selection.

cached_serializer (ON)

When disabled, serializers that include the CachedSerializer concern will not use Rails.cache. The following currently use it: collection, field guide, project, project page, project content, tutorial, workflow, and workflow_content.

remove_complete_subjects (ON)

When enabled, the subject complete remover will remove perform extra ops to remove retirees and user seens from the list returned by Cellect or Designator. When disabled, this is skipped.

dump_worker_exports (ON)

When enabled, dump worker jobs (exports of workflows, subjects, aggregations, and classifications) will be queued into sidekiq. When disabled, a 503 error will be returned.

subject_uploading (ON)

When disabled, requests to Subjects#create will result in a 503 error.

classification_lifecycle_in_background (ON)

When enabled, after a classification is saved, the lifecycle job is queued into sidekiq and processed later (see lib/classification_lifecycle.rb). When disabled, this action is performed immediately, causing the request to take longer but preventing a race condition that may result in serving user completed subjects

skip_subject_selection_context (OFF)

When enabled, the following is omitted from returned subjects: retired, already_seen, finished_workflow, favorite. When disabled, nothing is skipped the selection context is included in all serialized subjects.

skip_favorites_finder

When disabled, removes only favorite from the subject selection context and therefore all serialized subjects.

disable_lifecycle_worker (OFF)

When enabled, the RequeueClassificationsWorker jobs is NOT performed.

eager_load_projects (ON)

When enabled, serialized projects preload a bunch of stuff (see app/serializers/project_serializer.rb#10). When disabled, they don’t.

remove_orphan_subjects (ON)

When enabled, allows the SubjectRemovalWorker job to be performed by sidekiq when a subject is destroyed. When disabled, the job is not run.

upp_activity_count_cache (ON)

When enabled, lookups for user project preferences are done using Rails.cache.

classification_serializer_data_from_replica (ON)

When enabled, classification get requests for /, /gold_standard, /incomplete, /project paths will be read from the replica database instead of the primary. This avoids serving these possibly expensive query operations from our primary write database, especially as the classification data is static and not changing.