Fix B6: Market concurrency lock, watchlist exclusion from cleanup, optimized trade ID deduplication query, and TradeHistoryWorker sync logic
This commit is contained in:
@@ -92,6 +92,7 @@ public class TraderRepository : ITraderRepository
|
||||
public async Task<IReadOnlyList<Trader>> GetTradersForCleanupAsync(DateTime inactiveSince, DateTime errorSince, int take = 50, CancellationToken ct = default)
|
||||
{
|
||||
return await _db.Traders
|
||||
.Where(t => t.IsAutoDiscovered && !t.WatchlistEntries.Any())
|
||||
.Where(t => (t.LastPolledAt != null && t.LastPolledAt < inactiveSince) ||
|
||||
(t.LastApiErrorAt != null && t.LastApiErrorAt < errorSince))
|
||||
.OrderBy(t => t.LastApiErrorAt ?? DateTime.MaxValue) // Prioritize errors first
|
||||
|
||||
Reference in New Issue
Block a user