Enhance BacktestComputeWorker to include duration in completion messages for successful and failed backtests. This change improves user feedback by providing detailed timing information alongside the results of the backtests.
This commit is contained in:
@@ -590,10 +590,19 @@ public class BacktestComputeWorker : BackgroundService
|
||||
bundleRequest.Status == BundleBacktestRequestStatus.Completed &&
|
||||
!string.IsNullOrEmpty(user.TelegramChannel))
|
||||
{
|
||||
var completedAt = bundleRequest.CompletedAt ?? DateTime.UtcNow;
|
||||
var duration = completedAt - bundleRequest.CreatedAt;
|
||||
var durationText = duration.TotalHours >= 1
|
||||
? $"{duration.Hours}h {duration.Minutes}m {duration.Seconds}s"
|
||||
: duration.TotalMinutes >= 1
|
||||
? $"{duration.Minutes}m {duration.Seconds}s"
|
||||
: $"{duration.Seconds}s";
|
||||
|
||||
var message = $"✅ Bundle backtest '{bundleRequest.Name}' (ID: {bundleRequest.RequestId}) completed successfully. " +
|
||||
$"Completed: {completedJobs}/{totalJobs} backtests" +
|
||||
(failedJobs > 0 ? $", Failed: {failedJobs}" : "") +
|
||||
$". Results: {completedJobResults.Count} backtest(s) generated.";
|
||||
$". Results: {completedJobResults.Count} backtest(s) generated. " +
|
||||
$"Duration: {durationText}";
|
||||
|
||||
await webhookService.SendMessage(message, user.TelegramChannel);
|
||||
}
|
||||
@@ -601,8 +610,17 @@ public class BacktestComputeWorker : BackgroundService
|
||||
bundleRequest.Status == BundleBacktestRequestStatus.Failed &&
|
||||
!string.IsNullOrEmpty(user.TelegramChannel))
|
||||
{
|
||||
var completedAt = bundleRequest.CompletedAt ?? DateTime.UtcNow;
|
||||
var duration = completedAt - bundleRequest.CreatedAt;
|
||||
var durationText = duration.TotalHours >= 1
|
||||
? $"{duration.Hours}h {duration.Minutes}m {duration.Seconds}s"
|
||||
: duration.TotalMinutes >= 1
|
||||
? $"{duration.Minutes}m {duration.Seconds}s"
|
||||
: $"{duration.Seconds}s";
|
||||
|
||||
var message = $"❌ Bundle backtest '{bundleRequest.Name}' (ID: {bundleRequest.RequestId}) failed. " +
|
||||
$"All {totalJobs} backtests failed. Error: {bundleRequest.ErrorMessage}";
|
||||
$"All {totalJobs} backtests failed. Error: {bundleRequest.ErrorMessage}. " +
|
||||
$"Duration: {durationText}";
|
||||
|
||||
await webhookService.SendMessage(message, user.TelegramChannel);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user