[Reference](/docs) · by task

# Run background work

Schedules, events and subscribers, batches that keep their progress, retries and what an operator sees. Read them in this order. Each page links to the pages around it.

1.  [Schedules](/docs/schedules)
    
    Use a schedule for work that should happen on a timer rather than when someone asks, such as sending reminders every 15 minutes or tidying up once a day.
    
2.  [Declaring an event](/docs/declaring-an-event)
    
    An event records that something happened, so that other code can react to it later without the action that caused it waiting.
    
3.  [Emitting an event](/docs/emitting-an-event)
    
    An action announces an event with `emit`, a statement written like `reject` (Raising a failure).
    
4.  [Subscribers](/docs/subscribers)
    
    A subscriber reacts to an event: each time the event is committed, it runs an action.
    
5.  [Delivery: at least once, safe to repeat](/docs/delivery-at-least-once-safe-to-repeat)
    
    Every committed event reaches each of its subscribers at least once.
    
6.  [Batch work keeps its progress](/docs/batch-work-keeps-its-progress)
    
    An action is all-or-nothing: its writes all commit, or none do (All-or-nothing actions).
    
7.  [Retries and giving up](/docs/retries-and-giving-up)
    
    When a subscriber's action fails, Jadpo decides whether to try again from the way it failed.
    
8.  [What an operator sees](/docs/what-an-operator-sees)
    
    Background work that goes wrong waits for a person rather than disappearing.
