diff --git a/lib/handlers/hydrater.js b/lib/handlers/hydrater.js index 2803f96..01baa4e 100644 --- a/lib/handlers/hydrater.js +++ b/lib/handlers/hydrater.js @@ -40,12 +40,16 @@ module.exports = function(req, res, server, logger, next) { task.document.metadata = task.document ? task.document.metadata || {} : {}; task.document.data = task.document ? task.document.data || {} : {}; - // Push it to the queue + if(req.params.long_poll) { - server.queue.push(task, -100); + task.priority = -100; } else { - server.queue.push(task, (req.params.priority) ? -parseInt(req.params.priority) : 0); + task.priority = (req.params.priority) ? -parseInt(req.params.priority) : 0; } + + // Push it to the queue + server.queue.push(task, task.priority); + logger("Queuing: " + ((task.file_path) ? task.file_path : task.document.id)); }; diff --git a/lib/helpers/child-process.js b/lib/helpers/child-process.js index f1a5fd6..f128199 100644 --- a/lib/helpers/child-process.js +++ b/lib/helpers/child-process.js @@ -54,6 +54,7 @@ process.on('message', function(task) { } }, function startHydration(cb) { + cb.priority = task.priority; cb.urlCallback = task.options.urlCallback; cb.apiUrl = task.options.apiUrl; hydrate(path, task.document, task.changes, cb); diff --git a/lib/helpers/hydrater.js b/lib/helpers/hydrater.js index cf112fb..988ce91 100644 --- a/lib/helpers/hydrater.js +++ b/lib/helpers/hydrater.js @@ -101,6 +101,7 @@ module.exports = function(hydraterFunction, logger, errLogger) { child.send({ functionPath: hydraterFunction, + priority: task.priority, file_path: task.file_path, document: task.document, changes: lib.defaultChanges(),