Update PositionManagerWorker.cs
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user