Fix B6: Market concurrency lock, watchlist exclusion from cleanup, optimized trade ID deduplication query, and TradeHistoryWorker sync logic
This commit is contained in:
@@ -15,6 +15,7 @@ namespace Predictalytics.Worker.Services;
|
||||
public class MarketSyncWorker : BackgroundService
|
||||
{
|
||||
private static DateTime _lastDbError = DateTime.MinValue;
|
||||
private static DateTime _lastClosedMarketSync = DateTime.MinValue;
|
||||
private readonly IServiceProvider _services;
|
||||
private readonly IPlatformStatisticsService _statsService;
|
||||
private readonly ILogger<MarketSyncWorker> _logger;
|
||||
@@ -42,7 +43,13 @@ public class MarketSyncWorker : BackgroundService
|
||||
|
||||
using var platformCtx = PlatformLogContext.Push(p.PlatformName);
|
||||
int cycleTotalSynced = 0;
|
||||
foreach (var includeClosed in new[] { false, true })
|
||||
var includeClosedOptions = new List<bool> { false };
|
||||
if (DateTime.UtcNow - _lastClosedMarketSync >= TimeSpan.FromDays(1))
|
||||
{
|
||||
includeClosedOptions.Add(true);
|
||||
}
|
||||
|
||||
foreach (var includeClosed in includeClosedOptions)
|
||||
{
|
||||
_logger.LogWarning("[{Platform}] Syncing markets (includeClosed={Closed})...", p.PlatformName, includeClosed);
|
||||
|
||||
@@ -73,6 +80,11 @@ public class MarketSyncWorker : BackgroundService
|
||||
if (passSynced % 500 == 0)
|
||||
_logger.LogWarning("[{Platform}] Synced {Total} markets so far (includeClosed={Closed})...", p.PlatformName, passSynced, includeClosed);
|
||||
}
|
||||
|
||||
if (includeClosed)
|
||||
{
|
||||
_lastClosedMarketSync = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
|
||||
// Need a temporary scope for stats
|
||||
|
||||
Reference in New Issue
Block a user