Fix video views increment

This commit is contained in:
Chocobozzz 2018-09-13 10:13:25 +02:00
parent 662fb3ab5e
commit 9431cabf8a
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 24 additions and 15 deletions

View File

@ -14,22 +14,31 @@ async function processVideosViewsViews () {
logger.info('Processing videos views in job for hour %d.', hour) logger.info('Processing videos views in job for hour %d.', hour)
for (const videoId of videoIds) { for (const videoId of videoIds) {
const views = await Redis.Instance.getVideoViews(videoId, hour) try {
if (isNaN(views)) { const views = await Redis.Instance.getVideoViews(videoId, hour)
logger.error('Cannot process videos views of video %s in hour %d: views number is NaN.', videoId, hour) if (isNaN(views)) {
} else { logger.error('Cannot process videos views of video %d in hour %d: views number is NaN.', videoId, hour)
logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour) } else {
logger.debug('Adding %d views to video %d in hour %d.', views, videoId, hour)
await VideoModel.incrementViews(videoId, views) await VideoModel.incrementViews(videoId, views)
await VideoViewModel.create({
startDate, try {
endDate, await VideoViewModel.create({
views, startDate,
videoId 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)
} }
} }