Server: request scheduler refractoring

pull/61/head
Chocobozzz 2017-02-26 19:27:08 +01:00
parent 9c2c18f3ab
commit f282639b07
2 changed files with 5 additions and 14 deletions

View File

@ -95,14 +95,6 @@ module.exports = class BaseRequestScheduler {
const requestToMake = requestsToMakeGrouped[hashKey]
const toPod = requestToMake.toPod
// Maybe the pod is not our friend anymore so simply remove it
if (!toPod) {
const requestIdsToDelete = requestToMake.ids
logger.info('Removing %d "%s" of unexisting pod %s.', requestIdsToDelete.length, this.description, requestToMake.toPod.id)
return this.getRequestToPodModel().removePodOf(requestIdsToDelete, requestToMake.toPod.id, callbackEach)
}
this.makeRequest(toPod, requestToMake.endpoint, requestToMake.datas, (success) => {
if (success === false) {
badPods.push(requestToMake.toPod.id)

View File

@ -45,12 +45,7 @@ module.exports = class RequestVideoQaduScheduler extends BaseRequestScheduler {
}
}
if (!requestsToMakeGrouped[hashKey].videos[video.id]) {
requestsToMakeGrouped[hashKey].videos[video.id] = {}
}
const videoData = requestsToMakeGrouped[hashKey].videos[video.id]
const videoData = {}
switch (request.type) {
case constants.REQUEST_VIDEO_QADU_TYPES.LIKES:
videoData.likes = video.likes
@ -72,10 +67,14 @@ module.exports = class RequestVideoQaduScheduler extends BaseRequestScheduler {
// Do not forget the remoteId so the remote pod can identify the video
videoData.remoteId = video.id
requestsToMakeGrouped[hashKey].ids.push(request.id)
// Maybe there are multiple quick and dirty update for the same video
// We use this hashmap to dedupe them
requestsToMakeGrouped[hashKey].videos[video.id] = videoData
})
})
// Now we deduped similar quick and dirty updates, we can build our requests datas
Object.keys(requestsToMakeGrouped).forEach(hashKey => {
Object.keys(requestsToMakeGrouped[hashKey].videos).forEach(videoId => {
const videoData = requestsToMakeGrouped[hashKey].videos[videoId]