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,6 +8,8 @@ var uuid = require('node-uuid'); | ||
8 | var mkdirp = require('mkdirp'); | 8 | var mkdirp = require('mkdirp'); |
9 | var async = require('async'); | 9 | var async = require('async'); |
10 | var _ = require('lodash'); | 10 | var _ = require('lodash'); |
11 | +var kue = require('kue'), | ||
12 | + queue = kue.createQueue(); | ||
11 | 13 | ||
12 | function init(req, res, Request) { | 14 | function init(req, res, Request) { |
13 | res.set("Content-Type", "application/json"); | 15 | res.set("Content-Type", "application/json"); |
@@ -165,21 +167,33 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) { | @@ -165,21 +167,33 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) { | ||
165 | var command_line = 'vlibras_user/vlibras-core/./vlibras -S ' + ' uploads/' + id + '/' + | 167 | var command_line = 'vlibras_user/vlibras-core/./vlibras -S ' + ' uploads/' + id + '/' + |
166 | req.files.legenda.name + ' -l portugues -b opaco --id' + id + ' --mode devel > /tmp/core_log 2>&1'; | 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 |