Serve recent stages from SQLite with configurable background refresh
Magent CI/CD / verify (push) Successful in 1m51s
Magent CI/CD / deploy-prod (push) Skipped
Magent CI/CD / deploy-beta (push) Skipped

This commit is contained in:
2026-09-13 16:18:30 +12:00
parent dcd8082c8d
commit d7e5c75cb1
8 changed files with 115 additions and 24 deletions
+4 -1
View File
@@ -82,6 +82,7 @@ const NUMBER_SETTINGS = new Set([
'log_file_backup_count',
'requests_sync_ttl_minutes',
'requests_poll_interval_seconds',
'requests_stage_refresh_minutes',
'requests_delta_sync_interval_minutes',
'requests_cleanup_days',
'issue_confirmation_contact_attempts',
@@ -386,7 +387,7 @@ const STANDARD_SECTION_GROUPS: Record<
key: 'requests-advanced',
title: 'Advanced scheduling',
description: 'How frequently the background worker checks whether a full refresh is due.',
keys: ['requests_poll_interval_seconds'],
keys: ['requests_poll_interval_seconds', 'requests_stage_refresh_minutes'],
},
{
key: 'requests-sync',
@@ -505,6 +506,7 @@ const SETTING_LABEL_OVERRIDES: Record<string, string> = {
qbittorrent_username: 'Web UI username',
qbittorrent_password: 'Web UI password',
requests_sync_ttl_minutes: 'Request cache freshness (minutes)',
requests_stage_refresh_minutes: 'Local stage refresh (minutes)',
requests_poll_interval_seconds: 'Full-sync eligibility check (seconds)',
requests_delta_sync_interval_minutes: 'Recent-change sync interval (minutes)',
requests_full_sync_time: 'Daily full-sync time',
@@ -1027,6 +1029,7 @@ export default function SettingsPage({ section }: SettingsPageProps) {
'qBittorrent server URL for download status (FQDN or IP). Scheme is optional.',
qbittorrent_username: 'qBittorrent login username.',
qbittorrent_password: 'qBittorrent login password.',
requests_stage_refresh_minutes: 'Refresh saved request stages in the background. Default: 15 minutes; range: 1 to 1440. Shorter intervals increase Jellyfin traffic and server load. Recent requests always load from the local database.',
requests_sync_ttl_minutes: 'How long saved requests stay fresh before a refresh is needed.',
requests_poll_interval_seconds:
'How often Magent checks if a full refresh should run.',