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)
{
using (_logger.BeginScope("Position {SignalIdentifier}", position.SignalIdentifier))
using (_logger.BeginScope("Position {Identifier}", position.Identifier))
{
try
{
// 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;
_tradingService.UpdatePosition(position);
@@ -253,8 +253,8 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
{
position.Status = PositionStatus.Canceled;
_tradingService.UpdatePosition(position);
_logger.LogWarning("[{SignalIdentifier}] Position canceled - stale since {PositionAge} days",
position.SignalIdentifier,
_logger.LogWarning("[{Identifier}] Position canceled - stale since {PositionAge} days",
position.Identifier,
(DateTime.UtcNow - position.Date).TotalDays);
}
else
@@ -262,8 +262,8 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
// Reset status for retry
position.Status = PositionStatus.New;
_tradingService.UpdatePosition(position);
_logger.LogInformation("[{SignalIdentifier}] Awaiting order fill - {Ticker} (0/{ExpectedQuantity})",
position.SignalIdentifier,
_logger.LogInformation("[{Identifier}] Awaiting order fill - {Ticker} (0/{ExpectedQuantity})",
position.Identifier,
position.Ticker, openTrade.Quantity);
}
}
@@ -274,13 +274,13 @@ public class PositionManagerWorker : BaseWorker<PositionManagerWorker>
// Position is now open, now waiting to open SLTP
_tradingService.UpdatePosition(position);
_logger.LogInformation("[{SignalIdentifier}] Position now open ",
position.SignalIdentifier);
_logger.LogInformation("[{Identifier}] Position now open ",
position.Identifier);
}
}
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
position.Status = PositionStatus.New;
_tradingService.UpdatePosition(position);