Django ORM в многопоточной задаче не сохраняет данные в модель

В моем приложении django я планирую потоковый процесс для запуска каждые n секунд потока, предназначенного для сохранения данных в таблице. В моем файле init я делаю:

class RepeatedTimer(object):
    def __init__(self, interval, function, *args, **kwargs):
        self._timer     = None
        self.interval   = interval
        self.function   = function
        self.args       = args
        self.kwargs     = kwargs
        self.is_running = False
        self.start()

    def _run(self):
        self.is_running = False
        self.start()
        self.function(*self.args, **self.kwargs)

    def start(self):
        if not self.is_running:
            self._timer = Timer(self.interval, self._run)
            self._timer.start()
            self.is_running = True

    def stop(self):
        self._timer.cancel()
        self.is_running = False

Итак, из моего init я делаю:

...
rc = RepeatedTimer(300, save_calc)
...

ok, мой cll запускается как поток и в этом методе сохраняет некоторые данные в двух разных таблицах, но только первый вызов save() был в порядке, второй ничего не делает:

...    
vr = VarsResults(key_res=Results.objects.get(res_key=p.res_key),
                                    var_id=v_id,
                                    var_val= v_original,
                                    var_val_conv = v_conv,
                                    var_hash=hash_vars.hexdigest())

 vr.save()
 time.sleep(0.5)

 # if val trigger alarm save in 
 if v_alarm and v_alarm.alarms_val:
     if eval(str(v_conv)+v_alarm.alarms_val):
         av = VarsAlarm(n_occurence=2, var_id=ModbusVariable.objects.get(id=int(v_id)))

         av.save()
         time.sleep(0.5)

Почему после первого vr.save() ничего не происходит? Второй запрос не выполняется (запрос правильный, также если я вставляю print или logging код, ничего не происходит). Есть ли другие способы добиться этого в многопоточном режиме?

Заранее большое спасибо

Вернуться на верх