Skip to content

Support multiplexing of ExecutionRequests

To deduplicate work, when multiple ExecutionRequests come in for the same Action, deduplicate such that the Action is only executed once. In this case, the highest priority in terms of ExecutionPolicy should be considered between the requests. The same applies to the results_cache_policy. If the Action is already in the process of being executed, let the newest request wait for that Action, rather than queuing a new one.

Cancellation of an ExecutionRequest through its Operation should not result in the cancellation of all ExecutionRequests associated with the same Action.

Implementation detail, I would recommend the Operation returned from ExecutionRequest be unique, such that there is a clear mapping between the two regardless of action duplication.