From 2c6e667bb7411d6fdb496feaad52f21dce4ef20c Mon Sep 17 00:00:00 2001 From: Michael Schmatz <schmatz@umich.edu> Date: Sat, 15 Mar 2014 09:20:13 -0700 Subject: [PATCH] Added API for queue messages count --- app/views/play/spectate_view.coffee | 4 ---- server/commons/queue.coffee | 3 ++- server/queues/scoring.coffee | 11 +++++++++++ server/routes/queue.coffee | 5 +++++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/views/play/spectate_view.coffee b/app/views/play/spectate_view.coffee index 5d855be0a..66093c013 100644 --- a/app/views/play/spectate_view.coffee +++ b/app/views/play/spectate_view.coffee @@ -453,10 +453,6 @@ module.exports = class SpectateLevelView extends View else cb(null, $.parseJSON(jqxhr.responseText)) - - - - destroy: ()-> @supermodel?.off 'error', @onLevelLoadError @levelLoader?.off 'loaded-all', @onLevelLoaderLoaded diff --git a/server/commons/queue.coffee b/server/commons/queue.coffee index 1e86f99cd..10710e340 100644 --- a/server/commons/queue.coffee +++ b/server/commons/queue.coffee @@ -185,7 +185,8 @@ class MongoQueue extends events.EventEmitter subscribe: (eventName, callback) -> @on eventName, callback unsubscribe: (eventName, callback) -> @removeListener eventName, callback - + totalMessagesInQueue: (callback) -> @Message.count {}, callback + receiveMessage: (callback) -> conditions = queue: @queueName diff --git a/server/queues/scoring.coffee b/server/queues/scoring.coffee index cc4abe0a9..ee09a914f 100644 --- a/server/queues/scoring.coffee +++ b/server/queues/scoring.coffee @@ -24,6 +24,17 @@ connectToScoringQueue = -> if error? then throw new Error "There was an error registering the scoring queue: #{error}" scoringTaskQueue = data log.info "Connected to scoring task queue!" + +module.exports.messagesInQueueCount = (req, res) -> + scoringTaskQueue.totalMessagesInQueue (err, count) -> + if err? then return errors.serverError res, "There was an issue finding the Mongoose count:#{err}" + response = + point: + number: count + timestamp: Date.now() + res.send(response) + res.end() + module.exports.addPairwiseTaskToQueueFromRequest = (req, res) -> taskPair = req.body.sessions diff --git a/server/routes/queue.coffee b/server/routes/queue.coffee index 85ee0f8e3..10af6875f 100644 --- a/server/routes/queue.coffee +++ b/server/routes/queue.coffee @@ -9,6 +9,11 @@ module.exports.setup = (app) -> #app.post '/queue/scoring/pairwise', (req, res) -> # handler = loadQueueHandler 'scoring' # handler.addPairwiseTaskToQueue req, res + + app.get '/queue/messagesInQueueCount', (req, res) -> + handler = loadQueueHandler 'scoring' + handler.messagesInQueueCount req, res + app.all '/queue/*', (req, res) -> setResponseHeaderToJSONContentType res