run

Function run 

Source
pub(crate) async fn run(
    config: Tier1Config,
    pool: PgPool,
) -> Result<(), Box<dyn Error + Send + Sync>>
Expand description

Runs the Tier 1 discovery sweep loop.

Spawns three concurrent polling timers โ€” one per data source โ€” and runs until the task is cancelled. Each timer fires independently at the interval specified in config. When a timer fires, the corresponding fetcher runs to completion; errors are logged but never propagated, so a transient failure in one source does not block the others.

A shared reqwest::Client is used across all fetchers to benefit from connection pooling and keep-alive.

ยงErrors

Returns an error only if all three fetchers encounter a non-retryable condition simultaneously (currently unreachable โ€” the function runs indefinitely until cancelled).