Class GeoScrapeService.DryRunResult

java.lang.Object
ubic.gemma.core.geoscrape.GeoScrapeService.DryRunResult
Enclosing interface:
GeoScrapeService

public static class GeoScrapeService.DryRunResult extends Object
Outcome of a dry run: the candidates, plus the two things a batching caller cannot work out from the candidate list alone.
  • Constructor Details

  • Method Details

    • getCandidates

      public List<GeoScrapeDryRunCandidate> getCandidates()
    • getLastScannedAccession

      @Nullable public String getLastScannedAccession()
      The last record the scan actually LOOKED at, matched or not.

      A caller can only cursor on the oldest candidate, but maxRecords caps records SCANNED and most scanned records match nothing — so when a batch's matches all sit near the head, the next request re-scans the same span and returns nothing new. Measured by the agents side over a 2026-06-01..2026-08-12 walk: 38 of 101 requests bought nothing, each one a full synchronous scan against the 60-second proxy budget. Cursoring on this instead of on the oldest candidate collapses those.

      Null when the scan examined no records at all.

    • getLastScannedDate

      @Nullable public Date getLastScannedDate()
      Release date of getLastScannedAccession(), so a caller can step `until` without a lookup.
    • getIncompleteRecords

      public List<String> getIncompleteRecords()
      Accessions examined on degraded information: GEO served invalid MINiML, so the record was kept with whatever the summary gave rather than failing the batch. Matchers that depend on sample details may therefore have under-matched on these, so a caller can report its list as incomplete and name the records — and retry them later, since the condition is usually transient.
    • getNextOffset

      @Nullable public Integer getNextOffset()
      Absolute offset into the resolved window where this scan stopped — feed straight back as skip alongside the same startAt to continue at record level rather than restarting that day. Null when nothing was scanned.