==============
Data Archivers
==============

All archivers share the same base class, :py:class:`~herostools.actor.archiver.HERODataArchiver`.
It subscribes to a named event on a HERO object, places each incoming
``(payload, metadata)`` pair on an internal queue, and processes that queue in a
background thread. Failed store attempts are retried up to ``max_retries`` times
before the item is dropped and an error is logged.

Two families of archiver are provided:

.. toctree::
   :maxdepth: 1

   archiver/filebased
   archiver/postgres
