Member Junction
    Preparing search index...

    Scheduled geocoding maintenance action that handles three tasks:

    1. Missing records — Finds records in geo-enabled entities that have non-null geo fields but no RecordGeoCode row, and geocodes them.
    2. Failed retries — Retries RecordGeoCode rows with Status='failed' up to a configurable max retry count.
    3. Orphan cleanup — Removes RecordGeoCode rows whose source entity record no longer exists.
    • BatchSize (default 10) — Number of records to geocode concurrently in each parallel batch. Controls API rate pressure. Google Geocoding API allows 50 QPS, so 10 is conservative and leaves headroom.
    • MaxTotalRecords (default 50,000) — Safety cap on the total number of records processed in a single run. Prevents unbounded memory growth in extreme cases. Override via scheduled job parameters. Logs a warning when the limit is reached so operators know remaining records exist for the next run. Also acts as a coarse per-run quota guard for free-tier API plans (e.g. set to 2400 to stay under Geocod.io's daily 2,500 free cap).
    • MaxRetries (default 5) — Maximum retry count for failed geocoding attempts before a record is considered permanently failed.
    • GeocodingProvider (optional) — Name of the geocoding provider to use for this run: 'google', 'geocodio', or 'here'. Overrides the apiIntegrations.geocoding.defaultProvider config setting. When omitted, falls back to config; when neither is set, the first configured provider is chosen in priority order: geocodio → here → google.

    After geocoding each record, the action loads the parent entity record and fires a synthetic BaseEntity 'save' event so that any cached RunView results containing stale lat/lng (from the RecordGeoCode JOIN) are invalidated. This ensures the server cache stays consistent.

    Designed to run on a schedule (every few hours) as a safety net for records that bypass BaseEntity.Save() (bulk SQL imports, direct DB operations).

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    Constructors

    Methods