Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit 5e3e932

Browse files
committed
feat: added configuration
1 parent f2bb922 commit 5e3e932

4 files changed

Lines changed: 21 additions & 6 deletions

File tree

src/ServiceLayer.Mesh/Configuration/AppConfiguration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@ public class AppConfiguration :
44
IFileDiscoveryFunctionConfiguration,
55
IFileExtractFunctionConfiguration,
66
IFileExtractQueueClientConfiguration,
7-
IFileTransformQueueClientConfiguration
7+
IFileTransformQueueClientConfiguration,
8+
IFileRetryFunctionConfiguration
89
{
910
public string NbssMeshMailboxId => GetRequired("NbssMailboxId");
1011

1112
public string FileExtractQueueName => GetRequired("FileExtractQueueName");
1213

1314
public string FileTransformQueueName => GetRequired("FileTransformQueueName");
1415

16+
public string StaleHours => GetRequired("StaleHours");
17+
1518
private static string GetRequired(string key)
1619
{
1720
var value = Environment.GetEnvironmentVariable(key);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace ServiceLayer.Mesh.Configuration;
2+
3+
public interface IFileRetryFunctionConfiguration
4+
{
5+
string StaleHours { get; }
6+
}

src/ServiceLayer.Mesh/Functions/FileRetryFunction.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,34 @@
55
using ServiceLayer.Mesh.Data;
66
using ServiceLayer.Mesh.Messaging;
77
using ServiceLayer.Mesh.Models;
8+
using ServiceLayer.Mesh.Configuration;
89

910
namespace ServiceLayer.Mesh.Functions
1011
{
1112
public class FileRetryFunction(
1213
ILogger<FileRetryFunction> logger,
1314
IMeshInboxService meshInboxService,
1415
ServiceLayerDbContext serviceLayerDbContext,
15-
IFileExtractQueueClient fileExtractQueueClient)
16+
IFileExtractQueueClient fileExtractQueueClient,
17+
IFileTransformQueueClient fileTransformQueueClient,
18+
IFileRetryFunctionConfiguration configuration)
1619
{
1720
[Function("FileRetryFunction")]
1821
public async Task Run([TimerTrigger("%FileRetryTimerExpression%")] TimerInfo myTimer)
1922
{
2023
logger.LogInformation($"FileRetryFunction started at: {DateTime.Now}");
2124

22-
var twelveHoursAgo = DateTime.UtcNow.AddHours(-12);
25+
var overdueAnUpdateDateTime = DateTime.UtcNow.AddHours(-Convert.ToInt32(configuration.StaleHours));
2326

2427
var files = await serviceLayerDbContext.MeshFiles
2528
.Where(f =>
2629
(f.Status == MeshFileStatus.Discovered ||
2730
f.Status == MeshFileStatus.Extracting ||
2831
f.Status == MeshFileStatus.Extracted ||
29-
f.Status == MeshFileStatus.Transforming) && f.LastUpdatedUtc <= twelveHoursAgo)
32+
f.Status == MeshFileStatus.Transforming) && f.LastUpdatedUtc <= overdueAnUpdateDateTime)
3033
.ToListAsync();
3134

32-
logger.LogInformation($"FileRetryFunction, {files.Count} stale files found");
35+
logger.LogInformation($"FileRetryFunction: {files.Count} stale files found");
3336

3437
foreach (var file in files)
3538
{
@@ -38,12 +41,14 @@ public async Task Run([TimerTrigger("%FileRetryTimerExpression%")] TimerInfo myT
3841
await fileExtractQueueClient.EnqueueFileExtractAsync(file);
3942
file.LastUpdatedUtc = DateTime.UtcNow;
4043
await serviceLayerDbContext.SaveChangesAsync();
44+
logger.LogInformation($"FileRetryFunction: File {file.FileId} enqueued to Extract queue");
4145
}
4246
else if (file.Status == MeshFileStatus.Extracted || file.Status == MeshFileStatus.Transforming)
4347
{
44-
//await fileExtractQueueClient.EnqueueFileExtractAsync(file);
48+
await fileTransformQueueClient.EnqueueFileTransformAsync(file);
4549
file.LastUpdatedUtc = DateTime.UtcNow;
4650
await serviceLayerDbContext.SaveChangesAsync();
51+
logger.LogInformation($"FileRetryFunction: File {file.FileId} enqueued to Transform queue");
4752
}
4853
}
4954
}

src/ServiceLayer.Mesh/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
services.AddTransient<IFileExtractFunctionConfiguration, AppConfiguration>();
6464
services.AddTransient<IFileExtractQueueClientConfiguration, AppConfiguration>();
6565
services.AddTransient<IFileTransformQueueClientConfiguration, AppConfiguration>();
66+
services.AddTransient<IFileRetryFunctionConfiguration, AppConfiguration>();
6667
});
6768

6869

0 commit comments

Comments
 (0)