Forja.Processor (Forja v0.4.0)

View Source

Functional core of event processing.

Orchestrates the flow:

  1. Loads the event from the database
  2. Checks if it has already been processed (processed_at)
  3. Dispatches to handlers via Registry
  4. Marks as processed
  5. Broadcasts via PubSub

Called by the Oban worker and the reconciliation worker. This module has no state -- it is a pure functional module.

Summary

Functions

process(name, event_id, path)

@spec process(atom(), String.t(), atom()) :: :ok | {:error, term()}