Closed tphakala closed 3 weeks ago
The update transitions the audio clip retention system from a mode-based to a policy-based approach. Key changes include restructuring configuration parameters, adding new cleanup policies, and introducing utility functions for retention period parsing and file management. These modifications enhance flexibility in managing audio clip retention based on age, usage, and other criteria.
File(s) | Change Summary |
---|---|
internal/analysis/realtime.go |
Updated clip cleanup logic to use specific retention policies instead of modes. |
internal/conf/config.go , internal/conf/config.yaml , internal/conf/defaults.go |
Restructured retention settings, replacing mode and Enabled with policy , maxage , maxusage , and minclips . |
internal/conf/utils.go |
Added ParseRetentionPeriod function to convert retention period strings into hours. |
internal/diskmanager/file_utils.go |
Introduced shared file management functions and added fields to FileInfo struct. |
internal/diskmanager/policy_age.go |
Implemented age-based cleanup policy for removing clips. |
internal/diskmanager/policy_usage.go |
Introduced disk usage-based cleanup policy and supporting functions. |
sequenceDiagram
participant User
participant RealtimeAnalysis
participant Config
participant DiskManager
User->>RealtimeAnalysis: Initiate Analysis
RealtimeAnalysis->>Config: Fetch Retention Policy
Config-->>RealtimeAnalysis: Return Policy Details
RealtimeAnalysis->>DiskManager: Trigger Cleanup Based on Policy
alt Policy is "age"
DiskManager->>DiskManager: Perform Age-Based Cleanup
else Policy is "usage"
DiskManager->>DiskManager: Perform Usage-Based Cleanup
end
DiskManager-->>RealtimeAnalysis: Cleanup Complete
RealtimeAnalysis-->>User: Analysis Complete
In the realm of code so bright, Clips now fade with policy's might, Age and usage take their turn, As files in disk do twist and churn. Debugging paths now clear and true, A rabbit's joy in changes new! 🐇
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
…ge based policy options.
Retention settings have changed
New settings
Renamed settings
MaxAge support defining retention time like: 24h as in 24 hour 1w as in 1 week 3m as in 3 months 1y as in 1 year