Skip to content

Commit

Permalink
Decision: Queue priorities and guidelines
Browse files Browse the repository at this point in the history
  • Loading branch information
escowles committed Feb 8, 2019
1 parent 04bb95b commit b1ccbc6
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions architecture-decisions/0002-queues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 2. Sidekiq Queues

Date: 2019-02-07

## Status

Accepted

## Context

We have background jobs that are processed by Sidekiq workers on several dedicated background processing
machines. The background jobs include a variety of different tasks from different sources:
* processing user requests (e.g., ingesting files, (re)generating derivatives)
* cleaning up after user actions (e.g., propagating state and visibility, removing files before deleting
their parent resource)
* refreshing metadata from Voyager/PULFA
* bulk-ingesting content
* routine cleanup (cleaning out guest users)
* fixity checking

## Decision

We will have three queues for processing background jobs:
1. `default` for processing user-initiated requests needed for ingesting and displaying objects
2. `low` for bulk processing, validation, cleanup, etc.
3. `super_low` for fixity checking and other long-term preservation actions

## Consequences

* Fixity checking from user-initiated ingest will be lower priority than bulk ingest or processing, and may
be significantly delayed when there are large volumes of materials being ingested.

0 comments on commit b1ccbc6

Please sign in to comment.