From 51353d9a035fb6b81f903a8b5f391292841649fd Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 9 Nov 2021 10:11:20 +0100 Subject: Refactor video views Introduce viewers attribute for live videos Count views for live videos Reduce delay to see the viewer update for lives Add ability to configure video views buffer interval and view ip expiration --- server/initializers/checker-before-init.ts | 2 +- server/initializers/config.ts | 4 +++- server/initializers/constants.ts | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 12 deletions(-) (limited to 'server/initializers') diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts index 1015c5e45..51c396548 100644 --- a/server/initializers/checker-before-init.ts +++ b/server/initializers/checker-before-init.ts @@ -38,7 +38,7 @@ function checkMissedConfig () { 'services.twitter.username', 'services.twitter.whitelisted', 'followers.instance.enabled', 'followers.instance.manual_approval', 'tracker.enabled', 'tracker.private', 'tracker.reject_too_many_announces', - 'history.videos.max_age', 'views.videos.remote.max_age', + 'history.videos.max_age', 'views.videos.remote.max_age', 'views.videos.local_buffer_update_interval', 'views.videos.ip_view_expiration', 'rates_limit.login.window', 'rates_limit.login.max', 'rates_limit.ask_send_email.window', 'rates_limit.ask_send_email.max', 'theme.default', 'remote_redundancy.videos.accept_from', diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 1288768d8..dadda2a77 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -182,7 +182,9 @@ const CONFIG = { VIDEOS: { REMOTE: { MAX_AGE: parseDurationToMs(config.get('views.videos.remote.max_age')) - } + }, + LOCAL_BUFFER_UPDATE_INTERVAL: parseDurationToMs(config.get('views.videos.local_buffer_update_interval')), + IP_VIEW_EXPIRATION: parseDurationToMs(config.get('views.videos.ip_view_expiration')) } }, PLUGINS: { diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 845576667..b65741bbd 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -148,7 +148,7 @@ const JOB_ATTEMPTS: { [id in JobType]: number } = { 'video-import': 1, 'email': 5, 'actor-keys': 3, - 'videos-views': 1, + 'videos-views-stats': 1, 'activitypub-refresher': 1, 'video-redundancy': 1, 'video-live-ending': 1, @@ -164,7 +164,7 @@ const JOB_CONCURRENCY: { [id in Exclude