From f1bb40fb75dc450fee037d6560296cce6ad7fdb8 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Thu, 18 Sep 2025 11:21:16 +0700 Subject: [PATCH] Clean a bit --- .../Grains/IPriceFetcherGrain.cs | 5 ++--- .../Bots/BotReminderInitializer.cs | 5 +++++ .../Grains/GeneticBacktestGrain.cs | 6 ++++-- src/Managing.Application/Grains/PriceFetcherGrain.cs | 12 +++--------- 4 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 src/Managing.Application/Bots/BotReminderInitializer.cs diff --git a/src/Managing.Application.Abstractions/Grains/IPriceFetcherGrain.cs b/src/Managing.Application.Abstractions/Grains/IPriceFetcherGrain.cs index b80795cd..b4afc9f8 100644 --- a/src/Managing.Application.Abstractions/Grains/IPriceFetcherGrain.cs +++ b/src/Managing.Application.Abstractions/Grains/IPriceFetcherGrain.cs @@ -13,6 +13,5 @@ public interface IPriceFetcherGrain : IGrainWithStringKey /// Fetches price data for all supported exchange/ticker combinations /// and publishes new candles to their respective streams. /// - /// True if the operation completed successfully, false otherwise - Task FetchAndPublishPricesAsync(); -} + Task FetchAndPublishPricesAsync(); +} \ No newline at end of file diff --git a/src/Managing.Application/Bots/BotReminderInitializer.cs b/src/Managing.Application/Bots/BotReminderInitializer.cs new file mode 100644 index 00000000..3a9fd264 --- /dev/null +++ b/src/Managing.Application/Bots/BotReminderInitializer.cs @@ -0,0 +1,5 @@ +namespace Managing.Application.Bots; + +public class BotReminderInitializer +{ +} \ No newline at end of file diff --git a/src/Managing.Application/Grains/GeneticBacktestGrain.cs b/src/Managing.Application/Grains/GeneticBacktestGrain.cs index 3a1cdad2..2405cdab 100644 --- a/src/Managing.Application/Grains/GeneticBacktestGrain.cs +++ b/src/Managing.Application/Grains/GeneticBacktestGrain.cs @@ -52,7 +52,8 @@ public class GeneticBacktestGrain : Grain, IGeneticBacktestGrain request.Status = GeneticRequestStatus.Running; await geneticService.UpdateGeneticRequestAsync(request); - request.User.Accounts = await ServiceScopeHelpers.WithScopedService>(_scopeFactory, + request.User.Accounts = await ServiceScopeHelpers.WithScopedService>( + _scopeFactory, async accountService => (await accountService.GetAccountsByUserAsync(request.User)).ToList()); // Run GA @@ -70,7 +71,8 @@ public class GeneticBacktestGrain : Grain, IGeneticBacktestGrain } catch (Exception ex) { - _logger.LogError(ex, "[GeneticBacktestGrain] Error processing request {RequestId}", requestId); + SentrySdk.CaptureException(ex); + try { using var scope = _scopeFactory.CreateScope(); diff --git a/src/Managing.Application/Grains/PriceFetcherGrain.cs b/src/Managing.Application/Grains/PriceFetcherGrain.cs index 5f3133b9..a5669001 100644 --- a/src/Managing.Application/Grains/PriceFetcherGrain.cs +++ b/src/Managing.Application/Grains/PriceFetcherGrain.cs @@ -81,12 +81,10 @@ public class PriceFetcherGrain : Grain, IPriceFetcherGrain, IRemindable await base.OnDeactivateAsync(reason, cancellationToken); } - public async Task FetchAndPublishPricesAsync() + public async Task FetchAndPublishPricesAsync() { try { - _logger.LogInformation("Starting {timeframe} price fetch cycle", TargetTimeframe); - var fetchTasks = new List(); // Create fetch tasks for all exchange/ticker combinations for the target timeframe @@ -100,16 +98,11 @@ public class PriceFetcherGrain : Grain, IPriceFetcherGrain, IRemindable // Execute all fetch operations in parallel await Task.WhenAll(fetchTasks); - - _logger.LogInformation("{0} - Completed {1} price fetch cycle for {2} combinations", - nameof(PriceFetcherGrain), TargetTimeframe, fetchTasks.Count); - - return true; } catch (Exception ex) { _logger.LogError(ex, "Error during price fetch cycle for timeframe {Timeframe}", TargetTimeframe); - return false; + SentrySdk.CaptureException(ex); } } @@ -185,6 +178,7 @@ public class PriceFetcherGrain : Grain, IPriceFetcherGrain, IRemindable { _logger.LogError(ex, "Error fetching prices for {Exchange}-{Ticker}-{Timeframe}", exchange, ticker, timeframe); + SentrySdk.CaptureException(ex); } }