pinakes-server: bound session concurrency; handle JoinError; make analytics

retention configurable

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaa35af821862eeadba0a4f384b2aec2c6a6a6964
This commit is contained in:
raf 2026-03-07 16:55:43 +03:00
commit 01fc2021c0
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
6 changed files with 42 additions and 16 deletions

View file

@ -557,7 +557,9 @@ async fn main() -> Result<()> {
.await;
},
JobKind::CleanupAnalytics => {
let before = chrono::Utc::now() - chrono::Duration::days(90);
let retention_days = config.analytics.retention_days;
let before = chrono::Utc::now()
- chrono::Duration::days(retention_days as i64);
match storage.cleanup_old_events(before).await {
Ok(count) => {
JobQueue::complete(
@ -712,6 +714,9 @@ async fn main() -> Result<()> {
transcode_service,
managed_storage,
chunked_upload_manager,
session_semaphore: std::sync::Arc::new(tokio::sync::Semaphore::new(
pinakes_server::state::MAX_SESSION_BACKGROUND_TASKS,
)),
};
// Periodic session cleanup (every 15 minutes)