1.8 How Archive Jobs Work

When an archive dredge job is running, the work flow follows this pattern.

  1. The Worker polls the Server every 10 minutes (default) for new queued jobs it may need to run. It launches the job.

  2. The Worker connects to the mail system and logs in to each mailbox. For every mailbox, it requests the items in that mailbox based on the settings in the profile.

  3. The mail server responds by sending the items to the Worker.

  4. The Worker sends smaller items to the Server. For large items, it sends the item’s metadata and awaits instructions from the Server as to whether the item already exists.

    • If it already exists, the Retain Server notifies the Worker that it does not need to send the item over.

    • If it does not exist, the Retain Server notifies the Worker to send the item.

  5. The Retain Server updates the Retain database with a record of the item's metadata if a record does not already exist.

  6. The Server adds the item to the storage area on disk.

  7. The Server launches the indexing process (if it is not already running) to begin the indexing process.

  8. The Indexer indexes any items that need to be indexed.

1.8.1 An Archive Job Example

  1. User A sends message 1 to User B.

  2. When a Worker processes User A's mailbox, Retain archives Message 1 in the Retain archive and creates a record in the database that points to the archived message and associates it with User A's mailbox.

  3. When a Worker processes User B's mailbox, Retain notes that message 1 is already archived and that a database record already exists.

  4. Therefore, Retain only needs to update the database record so that the message is also associated with User B's mailbox.