Option to specify backup interval

This commit is contained in:
JonnyWong16 2016-07-15 22:51:11 -07:00
parent 65b3d0c0de
commit b9bbf8bbca
4 changed files with 27 additions and 7 deletions

View file

@ -124,6 +124,20 @@
<p class="help-block">Group successive play history by the same user as a single entry in the tables and watch statistics.</p> <p class="help-block">Group successive play history by the same user as a single entry in the tables and watch statistics.</p>
</div> </div>
<div class="padded-header">
<h3>Backup</h3>
</div>
<div class="form-group">
<label for="backup_interval">Backup Interval</label>
<div class="row">
<div class="col-md-2">
<input type="text" class="form-control" data-parsley-type="integer" id="backup_interval" name="backup_interval" value="${config['backup_interval']}" size="5" data-parsley-range="[1,24]" data-parsley-trigger="change" data-parsley-errors-container="#backup_interval_error" required>
</div>
<div id="backup_interval_error" class="alert alert-danger settings-alert" role="alert"></div>
</div>
<p class="help-block">The interval (in hours) PlexPy will backup the database and configuration file. Minimum 1, maximum 24, default 6.</p>
</div>
<div class="padded-header"> <div class="padded-header">
<h3>Directories</h3> <h3>Directories</h3>
</div> </div>
@ -640,7 +654,7 @@
</div> </div>
<div id="refresh_users_interval_error" class="alert alert-danger settings-alert" role="alert"></div> <div id="refresh_users_interval_error" class="alert alert-danger settings-alert" role="alert"></div>
</div> </div>
<p class="help-block">The interval (in hours) PlexPy will request an updated friends list from Plex.tv. 1 minimum, 24 maximum.</p> <p class="help-block">The interval (in hours) PlexPy will request an updated friends list from Plex.tv. Minimum 1, maximum 24, default 12.</p>
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>
@ -660,7 +674,7 @@
</div> </div>
<div id="refresh_libraries_interval_error" class="alert alert-danger settings-alert" role="alert"></div> <div id="refresh_libraries_interval_error" class="alert alert-danger settings-alert" role="alert"></div>
</div> </div>
<p class="help-block">The interval (in hours) PlexPy will request an updated libraries list from your Plex Media Server. 1 minimum, 24 maximum.</p> <p class="help-block">The interval (in hours) PlexPy will request an updated libraries list from your Plex Media Server. Minimum 1, maximum 24, default 12.</p>
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>

View file

@ -331,9 +331,9 @@ def initialize_scheduler():
schedule_job(activity_pinger.check_active_sessions, 'Check for active sessions', schedule_job(activity_pinger.check_active_sessions, 'Check for active sessions',
hours=0, minutes=0, seconds=seconds) hours=0, minutes=0, seconds=seconds)
# Refresh the users list # Refresh the users list and libraries list
user_refresh_hours = CONFIG.REFRESH_USERS_INTERVAL or 0 user_refresh_hours = CONFIG.REFRESH_USERS_INTERVAL or 12
library_refresh_hours = CONFIG.REFRESH_LIBRARIES_INTERVAL or 0 library_refresh_hours = CONFIG.REFRESH_LIBRARIES_INTERVAL or 12
if CONFIG.PMS_TOKEN: if CONFIG.PMS_TOKEN:
schedule_job(plextv.refresh_users, 'Refresh users list', schedule_job(plextv.refresh_users, 'Refresh users list',
@ -343,8 +343,12 @@ def initialize_scheduler():
schedule_job(pmsconnect.refresh_libraries, 'Refresh libraries list', schedule_job(pmsconnect.refresh_libraries, 'Refresh libraries list',
hours=library_refresh_hours, minutes=0, seconds=0) hours=library_refresh_hours, minutes=0, seconds=0)
schedule_job(database.make_backup, 'Backup PlexPy database', hours=6, minutes=0, seconds=0, args=(True, True)) backup_hours = CONFIG.BACKUP_INTERVAL or 6
schedule_job(config.make_backup, 'Backup PlexPy config', hours=6, minutes=0, seconds=0, args=(True, True))
schedule_job(database.make_backup, 'Backup PlexPy database',
hours=backup_hours, minutes=0, seconds=0, args=(True, True))
schedule_job(config.make_backup, 'Backup PlexPy config',
hours=backup_hours, minutes=0, seconds=0, args=(True, True))
# Start scheduler # Start scheduler
if start_jobs and len(SCHED.get_jobs()): if start_jobs and len(SCHED.get_jobs()):

View file

@ -101,6 +101,7 @@ _CONFIG_DEFINITIONS = {
'BUFFER_THRESHOLD': (int, 'Monitoring', 3), 'BUFFER_THRESHOLD': (int, 'Monitoring', 3),
'BUFFER_WAIT': (int, 'Monitoring', 900), 'BUFFER_WAIT': (int, 'Monitoring', 900),
'BACKUP_DIR': (str, 'General', ''), 'BACKUP_DIR': (str, 'General', ''),
'BACKUP_INTERVAL': (int, 'General', 6),
'CACHE_DIR': (str, 'General', ''), 'CACHE_DIR': (str, 'General', ''),
'CACHE_IMAGES': (int, 'General', 1), 'CACHE_IMAGES': (int, 'General', 1),
'CACHE_SIZEMB': (int, 'Advanced', 32), 'CACHE_SIZEMB': (int, 'Advanced', 32),

View file

@ -2527,6 +2527,7 @@ class WebInterface(object):
"update_db_interval": plexpy.CONFIG.UPDATE_DB_INTERVAL, "update_db_interval": plexpy.CONFIG.UPDATE_DB_INTERVAL,
"freeze_db": checked(plexpy.CONFIG.FREEZE_DB), "freeze_db": checked(plexpy.CONFIG.FREEZE_DB),
"backup_dir": plexpy.CONFIG.BACKUP_DIR, "backup_dir": plexpy.CONFIG.BACKUP_DIR,
"backup_interval": plexpy.CONFIG.BACKUP_INTERVAL,
"cache_dir": plexpy.CONFIG.CACHE_DIR, "cache_dir": plexpy.CONFIG.CACHE_DIR,
"log_dir": plexpy.CONFIG.LOG_DIR, "log_dir": plexpy.CONFIG.LOG_DIR,
"log_blacklist": checked(plexpy.CONFIG.LOG_BLACKLIST), "log_blacklist": checked(plexpy.CONFIG.LOG_BLACKLIST),