Skip to content

Commit ff78e14

Browse files
committed
Retry file copying
1 parent 5c105c5 commit ff78e14

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/LibraryManager.Contracts/FileHelpers.cs

+13-9
Original file line numberDiff line numberDiff line change
@@ -141,19 +141,23 @@ public static Task<Stream> ReadFileAsStreamAsync(string fileName, CancellationTo
141141
/// <returns>A boolean indicating whether the file was copied successfully</returns>
142142
public static async Task<bool> CopyFileAsync(string sourceFile, string destinationFile, ILogger logger, CancellationToken cancellationToken)
143143
{
144-
try
144+
//Sometimes it flaky. Let's retry
145+
for (int i=0; i<2;i++)
145146
{
146-
using FileStream sourceStream = File.Open(sourceFile, FileMode.Open, FileAccess.Read);
147+
try
148+
{
149+
using FileStream sourceStream = File.Open(sourceFile, FileMode.Open, FileAccess.Read);
147150

148-
await WriteToFileAsync(destinationFile, sourceStream, cancellationToken);
151+
await WriteToFileAsync(destinationFile, sourceStream, cancellationToken);
149152

150-
return true;
151-
}
152-
catch (Exception exception)
153-
{
154-
logger.Log($"Error during copying file {exception}", LogLevel.Error);
155-
return false;
153+
return true;
154+
}
155+
catch (Exception exception)
156+
{
157+
logger.Log($"Error during copying file {exception}", LogLevel.Error);
158+
}
156159
}
160+
return false;
157161
}
158162

159163
/// <summary>

0 commit comments

Comments
 (0)