def __init__(self, filename, includes, excludes, poolsize=4, local_sdk=None, remote_sdk=None, job_config=None, db_handler=None): self.db = filename self.includes = includes self.excludes = excludes self.create = False global_config_manager = GlobalConfigManager.Instance( configs_path=os.path.dirname(os.path.dirname(filename))) # Increasing the timeout (default 5 seconds), to avoid database is locked error self.timeout = global_config_manager.get_general_config( )['max_wait_time_for_local_db_access'] if not os.path.exists(self.db): self.create = True self.last_commit = time.time() self.local_sdk = local_sdk self.remote_sdk = remote_sdk self.pendingoperations = [] self.maxpoolsize = poolsize self.failingchanges = {} # keep track of failing changes self.change_history = ChangeHistory( self.db[:self.db.rfind("/")] + "/history.sqlite", self.local_sdk, self.remote_sdk, job_config, db_handler) self.job_config = job_config