You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Instead of the current model of injecting factories for build cache operations, we should instead make build cache pack/unpack a first-class citizen in Rush with individual hooks for readBufferFromCacheAsync (an AsyncSeriesBailHook) and writeBufferToCacheAsync (an AsyncParallelHook).
Details
This would open up the following scenarios:
Cache entry reads could be attempted from a series of caches, in order, and as soon as one returns a result it would be used
Cache entry writes could be performed to multiple caches
Build cache plugins could leverage beforeExecuteOperations to perform any required authentication to the cache. Additionally, with build cache entry ids being a first-class feature, we could provide the id as an (optional) property on the IOperationExecutionRecord object, so that plugins could aggressively start fetching cache entries before they are asked to.
Build cache plugins would have the flexibility to not block the underlying operation on the cache write and instead wait for any outstanding cache writes during afterExecuteOperations.
For backwards compatibility we should have the existing factory model tap the new hooks.
The text was updated successfully, but these errors were encountered:
Summary
Instead of the current model of injecting factories for build cache operations, we should instead make build cache pack/unpack a first-class citizen in Rush with individual hooks for
readBufferFromCacheAsync
(an AsyncSeriesBailHook) andwriteBufferToCacheAsync
(an AsyncParallelHook).Details
This would open up the following scenarios:
beforeExecuteOperations
to perform any required authentication to the cache. Additionally, with build cache entry ids being a first-class feature, we could provide the id as an (optional) property on theIOperationExecutionRecord
object, so that plugins could aggressively start fetching cache entries before they are asked to.afterExecuteOperations
.For backwards compatibility we should have the existing factory model tap the new hooks.
The text was updated successfully, but these errors were encountered: