Move rate limiter ctx binding to backup operation scope
This commit is contained in:
parent
4b959098a8
commit
5bab966f67
@ -46,8 +46,6 @@ func (ctrl *Controller) ProduceBackupCollections(
|
|||||||
diagnostics.Index("service", bpc.Selector.PathService().String()))
|
diagnostics.Index("service", bpc.Selector.PathService().String()))
|
||||||
defer end()
|
defer end()
|
||||||
|
|
||||||
ctx = graph.BindRateLimiterConfig(ctx, graph.LimiterCfg{Service: service})
|
|
||||||
|
|
||||||
// Limit the max number of active requests to graph from this collection.
|
// Limit the max number of active requests to graph from this collection.
|
||||||
bpc.Options.Parallelism.ItemFetch = graph.Parallelism(service).
|
bpc.Options.Parallelism.ItemFetch = graph.Parallelism(service).
|
||||||
ItemOverride(ctx, bpc.Options.Parallelism.ItemFetch)
|
ItemOverride(ctx, bpc.Options.Parallelism.ItemFetch)
|
||||||
|
|||||||
@ -589,14 +589,6 @@ func (oc *Collection) streamDriveItem(
|
|||||||
parentPath)
|
parentPath)
|
||||||
|
|
||||||
ctx = clues.Add(ctx, "item_info", itemInfo)
|
ctx = clues.Add(ctx, "item_info", itemInfo)
|
||||||
// Drive content download requests are also rate limited by graph api.
|
|
||||||
// Ensure that this request goes through the drive limiter & not the default
|
|
||||||
// limiter.
|
|
||||||
ctx = graph.BindRateLimiterConfig(
|
|
||||||
ctx,
|
|
||||||
graph.LimiterCfg{
|
|
||||||
Service: path.OneDriveService,
|
|
||||||
})
|
|
||||||
|
|
||||||
if isFile {
|
if isFile {
|
||||||
dataSuffix := metadata.DataFileSuffix
|
dataSuffix := metadata.DataFileSuffix
|
||||||
|
|||||||
@ -424,6 +424,13 @@ func (op *BackupOperation) do(
|
|||||||
lastBackupVersion = mans.MinBackupVersion()
|
lastBackupVersion = mans.MinBackupVersion()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Select an appropriate rate limiter for the service.
|
||||||
|
ctx = graph.BindRateLimiterConfig(
|
||||||
|
ctx,
|
||||||
|
graph.LimiterCfg{
|
||||||
|
Service: op.Selectors.PathService(),
|
||||||
|
})
|
||||||
|
|
||||||
// TODO(ashmrtn): This should probably just return a collection that deletes
|
// TODO(ashmrtn): This should probably just return a collection that deletes
|
||||||
// the entire subtree instead of returning an additional bool. That way base
|
// the entire subtree instead of returning an additional bool. That way base
|
||||||
// selection is controlled completely by flags and merging is controlled
|
// selection is controlled completely by flags and merging is controlled
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user