Update PositionManagerWorker.cs

This commit is contained in:
2025-03-04 05:13:27 +01:00
parent 32a6fe4f1c
commit 30bf9d26f6

View File

@@ -233,12 +233,12 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
foreach (var position in positions) foreach (var position in positions)
{ {
using (_logger.BeginScope("Position {SignalIdentifier}", position.SignalIdentifier)) using (_logger.BeginScope("Position {Identifier}", position.Identifier))
{ {
try try
{ {
// Immediate status update for concurrency protection // Immediate status update for concurrency protection
_logger.LogDebug("[{SignalIdentifier}] Acquiring position lock via status update", position.SignalIdentifier); _logger.LogDebug("[{Identifier}] Acquiring position lock via status update", position.Identifier);
position.Status = PositionStatus.Updating; position.Status = PositionStatus.Updating;
_tradingService.UpdatePosition(position); _tradingService.UpdatePosition(position);
@@ -253,8 +253,8 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
{ {
position.Status = PositionStatus.Canceled; position.Status = PositionStatus.Canceled;
_tradingService.UpdatePosition(position); _tradingService.UpdatePosition(position);
_logger.LogWarning("[{SignalIdentifier}] Position canceled - stale since {PositionAge} days", _logger.LogWarning("[{Identifier}] Position canceled - stale since {PositionAge} days",
position.SignalIdentifier, position.Identifier,
(DateTime.UtcNow - position.Date).TotalDays); (DateTime.UtcNow - position.Date).TotalDays);
} }
else else
@@ -262,8 +262,8 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
// Reset status for retry // Reset status for retry
position.Status = PositionStatus.New; position.Status = PositionStatus.New;
_tradingService.UpdatePosition(position); _tradingService.UpdatePosition(position);
_logger.LogInformation("[{SignalIdentifier}] Awaiting order fill - {Ticker} (0/{ExpectedQuantity})", _logger.LogInformation("[{Identifier}] Awaiting order fill - {Ticker} (0/{ExpectedQuantity})",
position.SignalIdentifier, position.Identifier,
position.Ticker, openTrade.Quantity); position.Ticker, openTrade.Quantity);
} }
} }
@@ -274,13 +274,13 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
// Position is now open, now waiting to open SLTP // Position is now open, now waiting to open SLTP
_tradingService.UpdatePosition(position); _tradingService.UpdatePosition(position);
_logger.LogInformation("[{SignalIdentifier}] Position now open ", _logger.LogInformation("[{Identifier}] Position now open ",
position.SignalIdentifier); position.Identifier);
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Error processing position {SignalIdentifier}", position.SignalIdentifier); _logger.LogError(ex, "Error processing position {Identifier}", position.Identifier);
// Consider resetting to New status for retry if needed // Consider resetting to New status for retry if needed
position.Status = PositionStatus.New; position.Status = PositionStatus.New;
_tradingService.UpdatePosition(position); _tradingService.UpdatePosition(position);