Commit be65e74472265cd12ee058b990a81d4d3e37d624
1 parent
81b3ab31
Exists in
master
and in
1 other branch
fix queue concurrency
Showing
6 changed files
with
16 additions
and
16 deletions
Show diff stats
endpoints/ios.js
@@ -36,12 +36,12 @@ function init(req, res) { | @@ -36,12 +36,12 @@ function init(req, res) { | ||
36 | // }); | 36 | // }); |
37 | 37 | ||
38 | var child; | 38 | var child; |
39 | - var job = queue.create('exec_command_line', { | 39 | + var job = queue.create('exec_command_line' + id, { |
40 | title: 'Command Line for: ' + req.body.servico, | 40 | title: 'Command Line for: ' + req.body.servico, |
41 | command_line: command_line | 41 | command_line: command_line |
42 | }).removeOnComplete( true ).save(); | 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 | child = queue_helper.exec_command_line(job.data.command_line, done); | 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,12 +50,12 @@ function init(req, res) { | ||
50 | // // console.log(stdout); | 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 | title: 'Command Line for: ' + req.body.servico, | 54 | title: 'Command Line for: ' + req.body.servico, |
55 | command_line: command_line | 55 | command_line: command_line |
56 | }).save(); | 56 | }).save(); |
57 | 57 | ||
58 | - queue.process('exec_command_line', function(job, done){ | 58 | + queue.process('exec_command_line' + id, function(job, done){ |
59 | child = queue_helper.exec_command_line(job.data.command_line, done); | 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,22 +54,20 @@ function init(req, res, Request) { | ||
54 | 54 | ||
55 | console.log(command_line); | 55 | console.log(command_line); |
56 | var child; | 56 | var child; |
57 | - var job = queue.create('exec_command_line', { | 57 | + var job = queue.create('exec_command_line' + id, { |
58 | title: 'Command Line for: ' + req.body.servico, | 58 | title: 'Command Line for: ' + req.body.servico, |
59 | command_line: command_line | 59 | command_line: command_line |
60 | }).removeOnComplete( true ).save(); | 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 | child = queue_helper.exec_command_line(job.data.command_line, done); | 63 | child = queue_helper.exec_command_line(job.data.command_line, done); |
64 | }); | 64 | }); |
65 | 65 | ||
66 | job.on('complete', function() { | 66 | job.on('complete', function() { |
67 | /* Listener que dispara quando a requisição ao core finaliza */ | 67 | /* Listener que dispara quando a requisição ao core finaliza */ |
68 | - // console.log("JOB complete"); | ||
69 | child.on('close', function(code, signal) { | 68 | child.on('close', function(code, signal) { |
70 | // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); | 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 | logger.incrementService("outros", "traducoes"); | 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,12 +20,12 @@ function call(id, command_line, req, res, Request, request_object) { | ||
20 | // }); | 20 | // }); |
21 | 21 | ||
22 | var child, | 22 | var child, |
23 | - job = queue.create('exec_command_line', { | 23 | + job = queue.create('exec_command_line' + id, { |
24 | title: 'Command Line for: ' + req.body.servico, | 24 | title: 'Command Line for: ' + req.body.servico, |
25 | command_line: command_line | 25 | command_line: command_line |
26 | }).removeOnComplete( true ).save(); | 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 | child = queue_helper.exec_command_line(job.data.command_line, done); | 29 | child = queue_helper.exec_command_line(job.data.command_line, done); |
30 | if (child === undefined) { | 30 | if (child === undefined) { |
31 | throw "Erro ao conectar com o core"; | 31 | throw "Erro ao conectar com o core"; |
@@ -41,14 +41,14 @@ function call(id, command_line, req, res, Request, request_object) { | @@ -41,14 +41,14 @@ function call(id, command_line, req, res, Request, request_object) { | ||
41 | 41 | ||
42 | // Se o core executou com erro | 42 | // Se o core executou com erro |
43 | if (code !== 0) { | 43 | if (code !== 0) { |
44 | - throw "Erro no retorno do core. Código: " + code; | ||
45 | db.update(Request, request_object.id, 'Error', function (result) { | 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 | // Se o core executou normal | 49 | // Se o core executou normal |
50 | db.update(Request, request_object.id, 'Completed', function (result) { | 50 | db.update(Request, request_object.id, 'Completed', function (result) { |
51 | - }); | 51 | + }); |
52 | res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'}); | 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,7 +2,8 @@ var exec = require('child_process').exec, child; | ||
2 | 2 | ||
3 | exports.exec_command_line = function (command_line, done) { | 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 | // console.log('Err: ' + err); | 7 | // console.log('Err: ' + err); |
7 | // console.log('STDOUT: ' + stdout); | 8 | // console.log('STDOUT: ' + stdout); |
8 | // console.log('STDERR: ' + stderr); | 9 | // console.log('STDERR: ' + stderr); |
@@ -20,6 +21,7 @@ exports.exec_command_line = function (command_line, done) { | @@ -20,6 +21,7 @@ exports.exec_command_line = function (command_line, done) { | ||
20 | 21 | ||
21 | // tentar com isso descomentado no lugar de chamar o done() direto | 22 | // tentar com isso descomentado no lugar de chamar o done() direto |
22 | // child.on('close', function(code, signal) { | 23 | // child.on('close', function(code, signal) { |
24 | + // console.log("close com done"); | ||
23 | // done(); | 25 | // done(); |
24 | // }); | 26 | // }); |
25 | done(); | 27 | done(); |