Fix worker cancelled on worker + Cache tickers

This commit is contained in:
2025-04-30 13:19:03 +07:00
parent df4392b17e
commit bc1ef78747
11 changed files with 116 additions and 55 deletions

View File

@@ -5,6 +5,7 @@ using Managing.Domain.Candles;
using Managing.Domain.Statistics;
using Managing.Domain.Trades;
using Managing.Infrastructure.Exchanges.Abstractions;
using Managing.Infrastructure.Exchanges.Exchanges;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -199,10 +200,15 @@ namespace Managing.Infrastructure.Exchanges
return await processor.GetTrades(account, ticker);
}
public async Task<List<Candle>> GetCandles(Account account, Ticker ticker, DateTime startDate,
Timeframe timeframe)
public async Task<List<Candle>> GetCandles(Account account, Ticker ticker, DateTime startDate, Timeframe timeframe, bool isFirstCall)
{
var processor = GetProcessor(account);
// Only EvmProcessor supports isFirstCall
if (processor is EvmProcessor evmProcessor)
{
return await evmProcessor.GetCandles(account, ticker, startDate, timeframe, isFirstCall);
}
// Fallback to default behavior for other processors
return await processor.GetCandles(account, ticker, startDate, timeframe);
}

View File

@@ -73,6 +73,11 @@ public class EvmProcessor : BaseProcessor
return await _evmManager.GetCandles(ticker, startDate, interval);
}
public async Task<List<Candle>> GetCandles(Account account, Ticker ticker, DateTime startDate, Timeframe interval, bool isFirstCall)
{
return await _evmManager.GetCandles(ticker, startDate, interval, isFirstCall);
}
public override decimal GetFee(Account account, bool isForPaperTrading = false)
{
return _evmManager.GetFee(Constants.Chains.Arbitrum).Result;