The submission API (design 4.55): queue a run for a worker on any machine to take, wait for its ticket's terminal state, or follow its events, over a store's RunQueue and the Checkpointer of the same store. Every call is tenant-scoped (rule 9): a ticket is answered only to its own tenant.
Entries are submitted with settings.maxAttempts; the worker side (W2) takes them.
The next page of entry entryId's run events after thread event after (0 from the thread's first), at most limit, waiting up to timeout for a commit when there is nothing yet - through Checkpointer.awaitEventsAfter, so a run committed by a worker on another machine is followed as it lands. Pass each page's next to the next call until finished. limit below 1 is a ValidationError. Errors are the queue's for the ticket and the store's for the thread's log (GraphError.ReplayUnavailable, GraphError.ThreadDeleted).
The next page of entry entryId's run events after thread event after (0 from the thread's first), at most limit, waiting up to timeout for a commit when there is nothing yet - through Checkpointer.awaitEventsAfter, so a run committed by a worker on another machine is followed as it lands. Pass each page's next to the next call until finished. limit below 1 is a ValidationError. Errors are the queue's for the ticket and the store's for the thread's log (GraphError.ReplayUnavailable, GraphError.ThreadDeleted).
Queues input for threadId, run by agentId for tenantId, and answers its ticket - or, with a submissionKey the tenant's queue already holds for the same submission, that entry's ticket. See RunQueue.submit.
Queues input for threadId, run by agentId for tenantId, and answers its ticket - or, with a submissionKey the tenant's queue already holds for the same submission, that entry's ticket. See RunQueue.submit.