diff --git a/plexpy/config.py b/plexpy/config.py index b5d6e82c..b4c784a4 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -284,7 +284,7 @@ _CONFIG_DEFINITIONS = { 'JOIN_ON_PMSUPDATE': (int, 'Join', 0), 'JOIN_ON_CONCURRENT': (int, 'Join', 0), 'JOIN_ON_NEWDEVICE': (int, 'Join', 0), - 'JOURNAL_MODE': (str, 'Advanced', 'wal'), + 'JOURNAL_MODE': (str, 'Advanced', 'WAL'), 'LAUNCH_BROWSER': (int, 'General', 1), 'LOG_BLACKLIST': (int, 'General', 1), 'LOG_DIR': (str, 'General', ''), @@ -541,6 +541,7 @@ _CONFIG_DEFINITIONS = { 'SCRIPTS_ON_PMSUPDATE_SCRIPT': (unicode, 'Scripts', ''), 'SCRIPTS_ON_CONCURRENT_SCRIPT': (unicode, 'Scripts', ''), 'SCRIPTS_ON_NEWDEVICE_SCRIPT': (unicode, 'Scripts', ''), + 'SYNCHRONOUS_MODE': (str, 'Advanced', 'NORMAL'), 'TELEGRAM_BOT_TOKEN': (str, 'Telegram', ''), 'TELEGRAM_ENABLED': (int, 'Telegram', 0), 'TELEGRAM_CHAT_ID': (str, 'Telegram', ''), diff --git a/plexpy/database.py b/plexpy/database.py index c0c6beb7..ed9d77cc 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -126,12 +126,12 @@ class MonitorDatabase(object): def __init__(self, filename=FILENAME): self.filename = filename self.connection = sqlite3.connect(db_filename(filename), timeout=20) - # Don't wait for the disk to finish writing - self.connection.execute("PRAGMA synchronous = OFF") - # Journal disabled since we never do rollbacks + # Set database synchronous mode (default NORMAL) + self.connection.execute("PRAGMA synchronous = %s" % plexpy.CONFIG.SYNCHRONOUS_MODE) + # Set database journal mode (default WAL) self.connection.execute("PRAGMA journal_mode = %s" % plexpy.CONFIG.JOURNAL_MODE) - # 64mb of cache memory, probably need to make it user configurable - self.connection.execute("PRAGMA cache_size=-%s" % (get_cache_size() * 1024)) + # Set database cache size (default 32MB) + self.connection.execute("PRAGMA cache_size = -%s" % (get_cache_size() * 1024)) self.connection.row_factory = dict_factory def action(self, query, args=None, return_last_id=False):