Processes one reference with its designated rule (source operations).
Queue options (validated).
Optionalconcurrency?: numberMaximum number of references processed concurrently.
Optionallogger: Logger<never, boolean>
Logger for unexpected processing rejections.
Optionalissues: SourceQueueIssues
Issues store for unexpected processing rejections.
Resolve once nothing is pending, owed (dirty) or in flight.
Notify that a source document changed (fire and forget).
The exact <name>://<id> reference.
The designated rule name.
false when the queue is stopped and the notification was dropped.
Stop starting new work; enqueues are still accepted.
Process a reference and resolve with the result of a run that started
after this call, so the result reflects the source's state at or after
the call (the ?wait=true path). Coalesces with other notifications:
if the reference is pending, this joins that run; if it is in flight,
this waits for the current run and then the one dirty re-run.
The exact <name>://<id> reference.
The designated rule name.
force re-embeds unchanged content.
The per-document result.
SourceNotifyQueueStoppedError (as a rejection) when the queue is stopped before the run starts.
Resume starting work.
Start processing (work enqueued earlier is held until now).
Stop: drop pending and owed runs (their processNow callers reject with
SourceNotifyQueueStoppedError), refuse new work, and resolve once
in-flight runs finish.
Resolve once no work is in flight (queued work may remain).
Coalescing queue for source-document notifications (Decision 12).
process, which retrieves current state, so a burst on one reference costs at most two retrievals and the final state wins. Runs never overlap for the same reference.References are compared exactly (case-sensitive), like source point IDs. The queue holds work until start; pause (prune) stops new runs without rejecting enqueues. Failures never escape:
processrecords issues itself, and an unexpected rejection becomes afailedresult and anextraction_errorissue (with the designated rule).Reindex runs go through processNow as well, so a notification and a reindex of one reference never run in parallel and the latest state wins.