Skip to content

Introduce async DrainStrategy, DrainAction, Observer, and Call types#1364

Merged
TristonianJones merged 1 commit into
cel-expr:masterfrom
TristonianJones:async-helpers
Jul 16, 2026
Merged

Introduce async DrainStrategy, DrainAction, Observer, and Call types#1364
TristonianJones merged 1 commit into
cel-expr:masterfrom
TristonianJones:async-helpers

Conversation

@TristonianJones

Copy link
Copy Markdown
Collaborator

Create cel/async package with interfaces used by concurrent eval

  • async.Call is a read-only view of a pending or completed async operation
  • async.Observer can be used to receive start / stop notification for an async.Call
  • async.DrainStrategy controls how and when to consume async call results in an evaluation
  • async.DrainAction indicates how the concurrent evaluation should treat the batch of results

ConcurrentEval will initiate a CEL expression evaluation that triggers one or more async
calls. As calls complete, the expression evaluation will be performed again using the results
from the call to advance the expression evaluation to a conclusive state.

@TristonianJones

Copy link
Copy Markdown
Collaborator Author

Test issue is unrelated, see: #1365 for the fix.

@TristonianJones
TristonianJones merged commit 1d92000 into cel-expr:master Jul 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants