Project

General

Profile

User story #2971

Updated by François ARMAND over 11 years ago


 Rudder stores node's agent execution report in a database. But there might be a lot of such reports, and the database can growth enormously.  
 So, we want to be able to "archive" or "delete" old reports automatically.  

 For that, we want to add in the "DB Management" screen two section to configure job scheduling to archive and delete reports.  

 Archiving a report is juste compacting and moving it elsewhere in the database.  
 Deleting a report is well, removing it for ever.  

 The UI must allow to configure these parameters about the job scheduling: 

 - activate (or not) the job; 
 - "time to live" for report, i.e maximum age of a report before being cleaned;  
 - frequency and execution time of the job execution 

 For that last parameter, we want something providing almost the same functionality than google calendar recurrence picker: 
 - allow to choose frequency by unit (hourly, daily, weekly, monthly, yearly) 
 - allow to choose how many time by that unit (minutes for hourly, hours/minutes for daily, etc) 
 - for weekly, allow to pick a specific day of the week; 
 - for monthly, allow to either choose a day number (each 5th of the month) or a specific day of month (each 3th Tuesday of the month) and a given time on that day.  
 - give a sentence summarizing the choice, ex: "every 3th Tuesday of the month at 03:00" 


 Each cleaning execution has to be logged in an event log.  

 If Rudder is not running at the configured execution time, nothing is done until the next event time (we don't execute a missed job as soon as we notice it).

Back