Commit 08782b4c87d1d1936dcff3d28952d995c898c7d0
1 parent
7f4b7b63
Exists in
master
and in
1 other branch
adiciona fila ao video rnp
Showing
1 changed file
with
29 additions
and
15 deletions
Show diff stats
endpoints/videornp.js
... | ... | @@ -8,6 +8,8 @@ var uuid = require('node-uuid'); |
8 | 8 | var mkdirp = require('mkdirp'); |
9 | 9 | var async = require('async'); |
10 | 10 | var _ = require('lodash'); |
11 | +var kue = require('kue'), | |
12 | + queue = kue.createQueue(); | |
11 | 13 | |
12 | 14 | function init(req, res, Request) { |
13 | 15 | res.set("Content-Type", "application/json"); |
... | ... | @@ -165,21 +167,33 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) { |
165 | 167 | var command_line = 'vlibras_user/vlibras-core/./vlibras -S ' + ' uploads/' + id + '/' + |
166 | 168 | req.files.legenda.name + ' -l portugues -b opaco --id' + id + ' --mode devel > /tmp/core_log 2>&1'; |
167 | 169 | |
168 | - /* Executa a linha de comando */ | |
169 | - child = exec(command_line, function(err, stdout, stderr) { | |
170 | - // [stdout] = vlibras-core output | |
171 | - // console.log(stdout); | |
172 | - }); | |
173 | - | |
174 | - /* Listener que dispara quando a requisição ao core finaliza */ | |
175 | - child.on('close', function(code, signal){ | |
176 | - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); | |
177 | - }); | |
178 | - | |
179 | - /* Listener que dispara quando a requisição ao core da erro */ | |
180 | - child.on('error', function(code, signal){ | |
181 | - res.send(500, parameters.errorMessage('Erro na chamada ao core')); | |
182 | - }); | |
170 | + var child; | |
171 | + var job = queue.create('exec_command_line' + id, { | |
172 | + title: 'Command Line for: ' + req.body.servico, | |
173 | + command_line: command_line | |
174 | + }).removeOnComplete( true ).save(); | |
175 | + | |
176 | + queue.process('exec_command_line' + id, function(job, done){ | |
177 | + child = queue_helper.exec_command_line(job.data.command_line, done); | |
178 | + }); | |
179 | + | |
180 | + job.on('complete', function() { | |
181 | + /* Executa a linha de comando */ | |
182 | + child = exec(command_line, function(err, stdout, stderr) { | |
183 | + // [stdout] = vlibras-core output | |
184 | + // console.log(stdout); | |
185 | + }); | |
186 | + | |
187 | + /* Listener que dispara quando a requisição ao core finaliza */ | |
188 | + child.on('close', function(code, signal){ | |
189 | + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); | |
190 | + }); | |
191 | + | |
192 | + /* Listener que dispara quando a requisição ao core da erro */ | |
193 | + child.on('error', function(code, signal){ | |
194 | + res.send(500, parameters.errorMessage('Erro na chamada ao core')); | |
195 | + }); | |
196 | + }); | |
183 | 197 | |
184 | 198 | } |
185 | 199 | ... | ... |