diff --git a/django_q/monitor.py b/django_q/monitor.py index 3f13098..4e87c14 100644 --- a/django_q/monitor.py +++ b/django_q/monitor.py @@ -93,7 +93,8 @@ def save_task(task, broker: Broker): broker=broker, ) # SAVE LIMIT > 0: Prune database, SAVE_LIMIT 0: No pruning - close_old_django_connections() + if not task.get("sync", False): + close_old_django_connections() try: filters = {} diff --git a/django_q/worker.py b/django_q/worker.py index 1fd87f2..293982b 100644 --- a/django_q/worker.py +++ b/django_q/worker.py @@ -85,7 +85,8 @@ def worker( if not callable(f): # locate() returns None if f cannot be loaded f = pydoc.locate(f) - close_old_django_connections() + if not task.get("sync", False): + close_old_django_connections() timer_value = task.pop("timeout", timeout) # signal execution pre_execute.send(sender="django_q", func=f, task=task)