Commit 08782b4c87d1d1936dcff3d28952d995c898c7d0

Authored by Cassio Cabral
1 parent 7f4b7b63
Exists in master and in 1 other branch devel

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  
... ...