def timeout_timer(self): query = "SELECT is_run FROM sync_tasks WHERE id=" + str(self.sync_data[0]) data_cur.execute(query) is_run = data_cur.fetchall() if not is_run[0][0]: # Проверяем не запущена ли уже задача # Ставим метку о запуске задачи query = "UPDATE sync_tasks SET is_run=1, status=1 WHERE id=" + str(self.sync_data[0]) try: data_cur.execute(query) data_conn.commit() except: pass write_to_log(self.sync_data[1], 'Начинаем ' + self.sync_data[1]) if self.sync_data[9]: thr = Thread(target=sync_from_ftp, args=(self.sync_data[4], (self.sync_data[6], self.sync_data[7]), self.sync_data[8], self.sync_data[2], self.sync_data[1], self.sync_data[3])) else: thr = Thread(target=sync_to_ftp, args=(self.sync_data[4], (self.sync_data[6], self.sync_data[7]), self.sync_data[8], self.sync_data[2], self.sync_data[1], self.sync_data[3])) thr.start() control_threads[self.sync_data[1]] = [thr, int(time.time())] if self.sync_data[10]: self.timer.setInterval(self.delay * 1000) else: next_time = get_next_time(self.sync_data[11]) self.timer.setInterval(int(time.mktime(next_time.timetuple()) - time.time())*1000)