45 lines
1.1 KiB
C#
Raw Permalink Normal View History

2024-11-26 15:14:31 +01:00
using AutoClient.Modes.FolderStore;
namespace AutoClient.Modes
{
2025-04-03 13:10:01 +02:00
public class FolderStoreMode
{
2024-10-30 11:09:13 +01:00
private readonly App app;
private Task checkTask = Task.CompletedTask;
2025-04-03 13:10:01 +02:00
private readonly LoadBalancer loadBalancer;
2024-10-30 11:09:13 +01:00
2025-04-03 13:10:01 +02:00
public FolderStoreMode(App app, LoadBalancer loadBalancer)
2024-10-30 11:09:13 +01:00
{
this.app = app;
2025-04-03 13:10:01 +02:00
this.loadBalancer = loadBalancer;
2024-10-30 11:09:13 +01:00
}
2025-04-03 13:10:01 +02:00
public void Start()
{
2025-01-16 15:13:16 +01:00
checkTask = Task.Run(() =>
2024-10-30 11:09:13 +01:00
{
try
{
2025-04-03 13:10:01 +02:00
var saver = new FolderSaver(app, loadBalancer);
2025-04-04 08:31:27 +02:00
while (!app.Cts.IsCancellationRequested)
2025-02-26 16:17:20 +01:00
{
2025-04-04 08:31:27 +02:00
saver.Run();
Thread.Sleep(TimeSpan.FromHours(1.0));
2025-02-26 16:17:20 +01:00
}
2024-10-30 11:09:13 +01:00
}
catch (Exception ex)
{
2025-02-26 16:17:20 +01:00
app.Log.Error("Exception in FolderStoreMode: " + ex);
2024-10-30 11:09:13 +01:00
Environment.Exit(1);
}
});
}
public void Stop()
{
2025-04-04 08:31:27 +02:00
app.Cts.Cancel();
2024-10-30 11:09:13 +01:00
checkTask.Wait();
}
}
}