From 2adeec7f6e4020014de962272912f2a95f9d8e26 Mon Sep 17 00:00:00 2001
From: Samuel Gaist <samuel.gaist@idiap.ch>
Date: Tue, 17 Apr 2018 14:17:20 +0200
Subject: [PATCH] [backend][local_scheduler] Close database connections before
 starting new process

This will avoid some concurrency problem especially with SQLite.

Related to the use of the multiprocessing module.

See:
https://code.djangoproject.com/ticket/20562
---
 beat/web/backend/local_scheduler.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/beat/web/backend/local_scheduler.py b/beat/web/backend/local_scheduler.py
index bc270cb0b..fc799842f 100755
--- a/beat/web/backend/local_scheduler.py
+++ b/beat/web/backend/local_scheduler.py
@@ -27,6 +27,7 @@
 
 
 from django.conf import settings
+from django import db
 
 import multiprocessing
 import psutil
@@ -94,6 +95,8 @@ def start_scheduler(settings_module='beat.web.settings.settings', interval=5,
     if getattr(settings, 'LOCAL_SCHEDULER_VERBOSITY', None) is not None:
         args.append(settings.LOCAL_SCHEDULER_VERBOSITY)
 
+    db.connections.close_all()
+
     process = SchedulerProcess(args)
     process.start()
     process.queue.get()
-- 
GitLab