mirror of
https://github.com/rclone/rclone.git
synced 2025-01-03 04:49:47 +01:00
azureblob: speed up server side copies for small files #8249
This speeds up server side copies for small files which need the check the copy status by using an exponential ramp up of time to check the copy status endpoint.
This commit is contained in:
parent
f4d5bee5c8
commit
5a23230fa9
@ -1648,13 +1648,15 @@ func (f *Fs) Copy(ctx context.Context, src fs.Object, remote string) (fs.Object,
|
||||
|
||||
copyStatus := startCopy.CopyStatus
|
||||
getOptions := blob.GetPropertiesOptions{}
|
||||
pollTime := 100 * time.Millisecond
|
||||
for copyStatus != nil && string(*copyStatus) == string(container.CopyStatusTypePending) {
|
||||
time.Sleep(1 * time.Second)
|
||||
time.Sleep(pollTime)
|
||||
getMetadata, err := dstBlobSVC.GetProperties(ctx, &getOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
copyStatus = getMetadata.CopyStatus
|
||||
pollTime = min(2*pollTime, time.Second)
|
||||
}
|
||||
|
||||
return f.NewObject(ctx, remote)
|
||||
|
Loading…
Reference in New Issue
Block a user