From 9431cabf8a92f602cf3b4626e12f23b0910f52a8 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 13 Sep 2018 10:13:25 +0200 Subject: Fix video views increment --- server/lib/job-queue/handlers/video-views.ts | 39 +++++++++++++++++----------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'server') diff --git a/server/lib/job-queue/handlers/video-views.ts b/server/lib/job-queue/handlers/video-views.ts index 875d8ab88..8a011d109 100644 --- a/server/lib/job-queue/handlers/video-views.ts +++ b/server/lib/job-queue/handlers/video-views.ts @@ -14,22 +14,31 @@ async function processVideosViewsViews () { logger.info('Processing videos views in job for hour %d.', hour) for (const videoId of videoIds) { - const views = await Redis.Instance.getVideoViews(videoId, hour) - if (isNaN(views)) { - logger.error('Cannot process videos views of video %s in hour %d: views number is NaN.', videoId, hour) - } else { - logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour) - - await VideoModel.incrementViews(videoId, views) - await VideoViewModel.create({ - startDate, - endDate, - views, - videoId - }) + 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) + } 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, + endDate, + views, + videoId + }) + } catch (err) { + logger.debug('Cannot create video views for video %d in hour %d. Maybe the video does not exist anymore?', videoId, hour) + } + } + + await Redis.Instance.deleteVideoViews(videoId, hour) + } catch (err) { + logger.error('Cannot update video views of video %d in hour %d.', videoId, hour) } - - await Redis.Instance.deleteVideoViews(videoId, hour) } } -- cgit v1.2.3