Class HighPriorityExecutor

  • All Implemented Interfaces:

    
    public final class HighPriorityExecutor
    extends PingExecutor
                        

    Executor for handling high-priority pings.

    Runs two independent processing loops over disjoint sets, each capped at N = maxBatchSize.high via runSlots:

    • one-time pending ping processing (processPendingHighPriorityPings) on the first run, which sends idle pings that were persisted before this process started (crash recovery), and

    • retry ping processing (processHighPriorityRetries) for FAILED pings whose retryAfter has elapsed.

    Retry ping processing schedules itself after the configured interval while pings remain, and stops when the DB is empty. A new ping wakes a sleeping re-run immediately.