feat(Assets): update asset services and background workers

This commit is contained in:
2026-08-09 21:01:39 +02:00
parent b57cc9894c
commit e0778b88ea
32 changed files with 1020 additions and 2062 deletions
+3 -23
View File
@@ -22,27 +22,7 @@ public class Settings
/// </summary>
public bool FinishedInitialScan { get; set; }
/// <summary>
/// Gets or sets the minimum number of days to wait before an asset becomes eligible for re-validation.
/// Combined with <see cref="MaxRandomUpdateDay"/> to achieve a flat 2-to-3-month rotation cycle.
/// </summary>
public int MinRandomUpdateDay { get; set; } = 60;
/// <summary>
/// Gets or sets the maximum number of days to wait before an asset must be re-validated (roughly 3 months).
/// </summary>
public int MaxRandomUpdateDay { get; set; } = 90;
/// <summary>
/// Gets or sets the earliest hour (0-23) of the day when background synchronization is allowed to execute.
/// Prevents unusual nocturnal API traffic.
/// </summary>
public int UpdateDayTimeStart { get; set; } = 8;
/// <summary>
/// Gets or sets the latest hour (0-23) of the day when background synchronization is allowed to execute.
/// </summary>
public int UpdateDayTimeStop { get; set; } = 21;
/// <summary>
/// Gets or sets the maximum number of assets requested per single API pagination call.
@@ -58,9 +38,9 @@ public class Settings
/// <summary>
/// Gets or sets the idle delay in seconds between switching asset categories during the initial setup scan.
/// Faster than standard mode but kept high enough to prevent early rate limiting. (Default 3600s = 1 hour).
/// Set to 0 to move immediately to the next type after finishing the current one. (Default 0s).
/// </summary>
public int InitAssetUpdateTypeDelay { get; set; } = 3600;
public int InitAssetUpdateTypeDelay { get; set; } = 0;
/// <summary>
/// Gets or sets the baseline delay in seconds between sequential page requests of the same asset type during the initial setup scan.
@@ -85,4 +65,4 @@ public class Settings
/// Trade Republic uses 1-based pagination. A value of 0 means the scan is currently idle or between types.
/// </summary>
public int CurrentScanningPage { get; set; } = 0;
}
}