Skip to content

Commit 31981c9

Browse files
authored
Merge pull request #8 from maxipavlovic/bugfix/LITE-16561
LITE-16561 Solves the problem of outdated connections in long-running consumers
2 parents 0c6b84f + ac11cd3 commit 31981c9

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

dj_cqrs/controller/consumer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import logging
44

5-
from django.db import transaction
5+
from django.db import close_old_connections, transaction
66

77
from dj_cqrs.constants import SignalType
88
from dj_cqrs.registries import ReplicaRegistry
@@ -32,6 +32,8 @@ def route_signal_to_replica_model(signal_type, cqrs_id, instance_data, previous_
3232
model_cls = ReplicaRegistry.get_model_by_cqrs_id(cqrs_id)
3333

3434
if model_cls:
35+
close_old_connections()
36+
3537
if signal_type == SignalType.DELETE:
3638
with transaction.atomic(savepoint=False):
3739
return model_cls.cqrs_delete(instance_data)

tests/test_replica/test_factory.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ def test_bad_model(caplog):
1212
assert 'No model with such CQRS_ID: invalid.' in caplog.text
1313

1414

15+
@pytest.mark.django_db
1516
def test_bad_signal(caplog):
1617
route_signal_to_replica_model('invalid', 'basic', {})
1718
assert 'Bad signal type "invalid" for CQRS_ID "basic".' in caplog.text

0 commit comments

Comments
 (0)