-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.coffee
More file actions
37 lines (30 loc) · 971 Bytes
/
server.coffee
File metadata and controls
37 lines (30 loc) · 971 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
_ = require "underscore"
child_launcher = require "./lib/child_launcher"
Q = require "q"
require('zappajs') ->
@use "static", "favicon", require('less-middleware')({ src: __dirname + '/public' })
@set 'view engine': 'jade'
@io.set 'transports', ['websocket', 'flashsocket', 'xhr-polling']
@io.set 'log level', 2
@get "/": ->
@render "index"
@get "/no": ->
@render "no"
@on "search": ->
promises = []
_(["twitter", "facebook", "googleplus", "youtube"]).each (worker) =>
deferred = Q.defer()
child_launcher "./workers/#{worker}_search_worker.coffee",
search: @data
message: (video) =>
@emit search_result:
search_term: @data
data: video
exit: ->
console.log "exit #{worker}"
deferred.resolve()
promises.push deferred.promise
console.log promises
Q.allResolved(promises).then =>
console.log "all done"
@ack "end"