33 Zeilen
968 B
Python
33 Zeilen
968 B
Python
"""
|
|
Scheduler module for handling background tasks
|
|
"""
|
|
import logging
|
|
from apscheduler.schedulers.background import BackgroundScheduler
|
|
import config
|
|
from utils.backup import create_backup
|
|
|
|
|
|
def scheduled_backup():
|
|
"""Führt ein geplantes Backup aus"""
|
|
logging.info("Starte geplantes Backup...")
|
|
create_backup(backup_type="scheduled", created_by="scheduler")
|
|
|
|
|
|
def init_scheduler():
|
|
"""Initialize and configure the scheduler"""
|
|
scheduler = BackgroundScheduler()
|
|
|
|
# Configure daily backup job
|
|
scheduler.add_job(
|
|
scheduled_backup,
|
|
'cron',
|
|
hour=config.SCHEDULER_CONFIG['backup_hour'],
|
|
minute=config.SCHEDULER_CONFIG['backup_minute'],
|
|
id='daily_backup',
|
|
replace_existing=True
|
|
)
|
|
|
|
scheduler.start()
|
|
logging.info(f"Scheduler started. Daily backup scheduled at {config.SCHEDULER_CONFIG['backup_hour']:02d}:{config.SCHEDULER_CONFIG['backup_minute']:02d}")
|
|
|
|
return scheduler |