From dbe6aa698eaacf9125d2c4232dee6e3e1f0d7ba1 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 3 Dec 2018 09:14:56 +0100 Subject: Fix trending page --- server/lib/job-queue/handlers/video-views.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'server/lib/job-queue/handlers') diff --git a/server/lib/job-queue/handlers/video-views.ts b/server/lib/job-queue/handlers/video-views.ts index f44c3c727..038ef43e2 100644 --- a/server/lib/job-queue/handlers/video-views.ts +++ b/server/lib/job-queue/handlers/video-views.ts @@ -24,12 +24,10 @@ async function processVideosViews () { try { const views = await Redis.Instance.getVideoViews(videoId, hour) if (isNaN(views)) { - logger.error('Cannot process videos views of video %d in hour %d: views number is NaN.', videoId, hour) + logger.error('Cannot process videos views of video %d in hour %d: views number is NaN (%s).', videoId, hour, views) } else { logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour) - await VideoModel.incrementViews(videoId, views) - try { await VideoViewModel.create({ startDate, @@ -39,7 +37,14 @@ async function processVideosViews () { }) const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(videoId) - if (video.isOwned()) await federateVideoIfNeeded(video, false) + if (video.isOwned()) { + // If this is a remote video, the origin instance will send us an update + await VideoModel.incrementViews(videoId, views) + + // Send video update + video.views += views + await federateVideoIfNeeded(video, false) + } } catch (err) { logger.debug('Cannot create video views for video %d in hour %d. Maybe the video does not exist anymore?', videoId, hour) } -- cgit v1.2.3