Commit be65e74472265cd12ee058b990a81d4d3e37d624

Authored by Cassio Cabral
1 parent 81b3ab31
Exists in master and in 1 other branch devel

fix queue concurrency

endpoints/ios.js
... ... @@ -36,12 +36,12 @@ function init(req, res) {
36 36 // });
37 37  
38 38 var child;
39   - var job = queue.create('exec_command_line', {
  39 + var job = queue.create('exec_command_line' + id, {
40 40 title: 'Command Line for: ' + req.body.servico,
41 41 command_line: command_line
42 42 }).removeOnComplete( true ).save();
43 43  
44   - queue.process('exec_command_line', function(job, done){
  44 + queue.process('exec_command_line' + id, function(job, done){
45 45 child = queue_helper.exec_command_line(job.data.command_line, done);
46 46 });
47 47  
... ...
endpoints/legenda.js
... ... @@ -50,12 +50,12 @@ function init(req, res) {
50 50 // // console.log(stdout);
51 51 // });
52 52  
53   - var job = queue.create('exec_command_line', {
  53 + var job = queue.create('exec_command_line' + id, {
54 54 title: 'Command Line for: ' + req.body.servico,
55 55 command_line: command_line
56 56 }).save();
57 57  
58   - queue.process('exec_command_line', function(job, done){
  58 + queue.process('exec_command_line' + id, function(job, done){
59 59 child = queue_helper.exec_command_line(job.data.command_line, done);
60 60 });
61 61  
... ...
endpoints/texto.js
... ... @@ -54,22 +54,20 @@ function init(req, res, Request) {
54 54  
55 55 console.log(command_line);
56 56 var child;
57   - var job = queue.create('exec_command_line', {
  57 + var job = queue.create('exec_command_line' + id, {
58 58 title: 'Command Line for: ' + req.body.servico,
59 59 command_line: command_line
60 60 }).removeOnComplete( true ).save();
61 61  
62   - queue.process('exec_command_line', function(job, done){
  62 + queue.process('exec_command_line' + id, function(job, done){
63 63 child = queue_helper.exec_command_line(job.data.command_line, done);
64 64 });
65 65  
66 66 job.on('complete', function() {
67 67 /* Listener que dispara quando a requisição ao core finaliza */
68   - // console.log("JOB complete");
69 68 child.on('close', function(code, signal) {
70 69 // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' });
71   - db.update(request_object, 'Completed', function(result) {
72   - });
  70 + db.update(request_object, id, 'Completed', function(result) {});
73 71 logger.incrementService("outros", "traducoes");
74 72 });
75 73  
... ...
helpers/core.js
... ... @@ -20,12 +20,12 @@ function call(id, command_line, req, res, Request, request_object) {
20 20 // });
21 21  
22 22 var child,
23   - job = queue.create('exec_command_line', {
  23 + job = queue.create('exec_command_line' + id, {
24 24 title: 'Command Line for: ' + req.body.servico,
25 25 command_line: command_line
26 26 }).removeOnComplete( true ).save();
27 27  
28   - queue.process('exec_command_line', function(job, done){
  28 + queue.process('exec_command_line' + id, function(job, done){
29 29 child = queue_helper.exec_command_line(job.data.command_line, done);
30 30 if (child === undefined) {
31 31 throw "Erro ao conectar com o core";
... ... @@ -41,14 +41,14 @@ function call(id, command_line, req, res, Request, request_object) {
41 41  
42 42 // Se o core executou com erro
43 43 if (code !== 0) {
44   - throw "Erro no retorno do core. Código: " + code;
45 44 db.update(Request, request_object.id, 'Error', function (result) {
46 45 });
  46 + throw "Erro no retorno do core. Código: " + code;
47 47 }
48 48  
49 49 // Se o core executou normal
50 50 db.update(Request, request_object.id, 'Completed', function (result) {
51   - });
  51 + });
52 52 res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'});
53 53 });
54 54  
... ...
helpers/queue.js
... ... @@ -2,7 +2,8 @@ var exec = require('child_process').exec, child;
2 2  
3 3 exports.exec_command_line = function (command_line, done) {
4 4  
5   - child = exec(command_line, function(err, stdout, stderr) {
  5 + // child = exec(command_line, function(err, stdout, stderr) {
  6 + child = exec("curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_20mb.mp4", function(err, stdout, stderr) {
6 7 // console.log('Err: ' + err);
7 8 // console.log('STDOUT: ' + stdout);
8 9 // console.log('STDERR: ' + stderr);
... ... @@ -20,6 +21,7 @@ exports.exec_command_line = function (command_line, done) {
20 21  
21 22 // tentar com isso descomentado no lugar de chamar o done() direto
22 23 // child.on('close', function(code, signal) {
  24 + // console.log("close com done");
23 25 // done();
24 26 // });
25 27 done();
... ...
logsystem/services.log
... ... @@ -6,8 +6,8 @@
6 6 "saude": 0
7 7 },
8 8 "outros": {
9   - "requisicoes": 184,
10   - "traducoes": 153,
  9 + "requisicoes": 200,
  10 + "traducoes": 176,
11 11 "saude": 0
12 12 }
13 13 }
... ...