fix: fence ledger outbox claims by instance
This commit is contained in:
@@ -119,7 +119,11 @@ def _wire(broker, *, ledger=None, clock=None, alarm_emitter=None, ledger_skip_st
|
||||
svc = SlotService(repo)
|
||||
intents = IntentService(svc, repo, InMemoryIntentStore(),
|
||||
resolve_symbol=lambda pid: "005930")
|
||||
outbox = InMemoryLedgerOutbox(clock=clock) if clock else InMemoryLedgerOutbox()
|
||||
outbox = (
|
||||
InMemoryLedgerOutbox(clock=clock, instance_key="default")
|
||||
if clock
|
||||
else InMemoryLedgerOutbox(instance_key="default")
|
||||
)
|
||||
execution = ExecutionService(
|
||||
svc,
|
||||
repo,
|
||||
@@ -430,7 +434,7 @@ def test_duplicate_execution_id_results_in_zero_duplicate_in_ledger():
|
||||
# And even if the writer somehow re-processes (simulated by a fresh outbox
|
||||
# row for the same execution_id, e.g. after a manual replay), the ledger
|
||||
# adapter dedup'd it server-side and the outcome is duplicate_completed.
|
||||
replay_outbox = InMemoryLedgerOutbox()
|
||||
replay_outbox = InMemoryLedgerOutbox(instance_key="test-instance")
|
||||
replay_writer = LedgerWriter(replay_outbox, ledger)
|
||||
replay_outbox.enqueue(first.trade)
|
||||
stats = replay_writer.run_once()
|
||||
|
||||
Reference in New Issue
Block a user