Skip to content

Scheduler #6

@crazydi4mond

Description

@crazydi4mond

Scheduler

Depends on: #3 (Scanner Orchestration), #4 (Config Generator), #5 (Process Manager)

Summary

Schedule periodic scanner runs and handle config updates with process reloads.

Motivation: Resolver health changes over time. Regular scanning keeps the pool fresh. Automated scheduling removes manual intervention.

Design

Scheduled tasks:

  • Scanner runs (configurable interval, e.g., every 30 minutes)
  • Resolver health checks (more frequent, e.g., every 5 minutes)

Workflow:

  1. Scheduler triggers scanner run
  2. Scanner completes → new resolver list
  3. Config generator updates gost config
  4. Process manager reloads gost

Configuration:

  • --scan-interval - time between full scans
  • --health-interval - time between health checks
  • Support for manual trigger via CLI command

Features:

  • Randomized jitter to avoid thundering herd
  • Skip if previous run still in progress
  • Configurable retry on failure

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions