Commit 4f31c9ff405f2dc30f7b5e1b3075bc08c3f44cc0

Authored by jonathan.brilhante
1 parent faa01283
Exists in master and in 1 other branch coppe

Alterações para versão MPOG

@@ -45,12 +45,9 @@ RUN add-apt-repository ppa:mc3man/trusty-media @@ -45,12 +45,9 @@ RUN add-apt-repository ppa:mc3man/trusty-media
45 RUN apt-get -y update 45 RUN apt-get -y update
46 RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg 46 RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg
47 47
48 -#Install Redis  
49 -RUN apt-get install -y redis-server  
50 -RUN service redis-server restart  
51 -  
52 WORKDIR / 48 WORKDIR /
53 RUN mkdir /storage/ 49 RUN mkdir /storage/
  50 +RUN mkdir -p /storage/videos/
54 51
55 #Copy workers to container 52 #Copy workers to container
56 WORKDIR /root/ 53 WORKDIR /root/
@@ -84,17 +81,12 @@ ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vli @@ -84,17 +81,12 @@ ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vli
84 #Portas de comunicacao do container 81 #Portas de comunicacao do container
85 WORKDIR /root/vlibras-api/ 82 WORKDIR /root/vlibras-api/
86 83
87 -VOLUME ["/storage/"]  
88 -  
89 RUN npm cache clean 84 RUN npm cache clean
90 RUN rm -rf node_modules 85 RUN rm -rf node_modules
91 RUN npm i 86 RUN npm i
92 RUN npm install amqplib 87 RUN npm install amqplib
93 -#ADD ./vlibras-api/node_modules/amqplib/ /root/vlibras-api/node_modules/amqplib/  
94 RUN npm --version 88 RUN npm --version
95 RUN node --version 89 RUN node --version
96 90
97 -# /etc/init.d/redis-server start  
98 -  
99 #Comando de entrada quando inicializado 91 #Comando de entrada quando inicializado
100 -ENTRYPOINT (sleep 3m) ; (node /root/vlibras-api/server.js & sleep 10) ; python /root/processManager.py 92 +ENTRYPOINT (sleep 1m) ; (node /root/vlibras-api/server.js & sleep 10) ; python /root/processManager.py
core/Dockerfile 0 → 100755
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +FROM ubuntu:14.04
  2 +MAINTAINER Jonathan Brilhante
  3 +#Container para o Core
  4 +
  5 +#Dependencies installation - RabbitMQ / Graylog / Nodejs / Redis / MongoDB / FFmpeg
  6 +
  7 +#Packages updates
  8 +RUN apt-get -y upgrade
  9 +RUN apt-get -y update
  10 +
  11 +#Install necessary packages
  12 +RUN apt-get install -y build-essential libssl-dev sudo curl wget && apt-get clean
  13 +
  14 +#Install python packages
  15 +RUN apt-get install -y python python-setuptools && apt-get clean && easy_install pip
  16 +
  17 +#Install python and python lib for RabbitMQ
  18 +RUN pip install pika
  19 +
  20 +#Install Graylog
  21 +RUN pip install graypy
  22 +RUN pip install graypy[amqp]
  23 +
  24 +#Install aditional packages
  25 +RUN apt-get install -y pkg-config libfreetype6-dev libpng-dev xvfb python-yaml libgomp1 python-numpy python-pyfits python-matplotlib idle && apt-get clean
  26 +RUN pip install nltk==3.0.5 nltk_tgrep --upgrade
  27 +RUN pip install pysrt pyvirtualdisplay
  28 +RUN apt-get install -y software-properties-common && apt-get clean
  29 +
  30 +#Install FFmpeg
  31 +RUN add-apt-repository ppa:mc3man/trusty-media
  32 +RUN apt-get -y update
  33 +RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg && apt-get clean
  34 +
  35 +#RUN useradd -ms /bin/bash vlibras
  36 +#WORKDIR /
  37 +RUN mkdir /storage/
  38 +#RUN mkdir /home/vlibras/
  39 +#RUN chown -R vlibras /storage/
  40 +#RUN chown -R vlibras /home/vlibras/
  41 +#USER vlibras
  42 +
  43 +#Copy workers to container
  44 +WORKDIR /root/
  45 +ADD ./extractor.py /root/extractor.py
  46 +ADD ./mixer.py /root/mixer.py
  47 +ADD ./renderer.py /root/renderer.py
  48 +ADD ./translator.py /root/translator.py
  49 +ADD ./PikaManager.py /root/PikaManager.py
  50 +ADD ./processManager.py /root/processManager.py
  51 +ADD ./log/ /root/log/
  52 +ADD ./unityVideo/ /root/unityVideo/
  53 +ADD ./vlibras-translate/ /root/vlibras-translate/
  54 +ADD ./vlibras-libs/ /root/vlibras-libs/
  55 +
  56 +#Workers environment variables
  57 +ENV VLIBRAS_VIDEO_CREATOR="/root/unityVideo/videoCreator.x86_64"
  58 +ENV VLIBRAS_VIDEO_LIBRAS="/storage/libras"
  59 +ENV VLIBRAS_VIDEO_MIXED="/storage/videos"
  60 +ENV VLIBRAS_VIDEO_SCREENS="/storage/frames"
  61 +
  62 +#Translator environment variables
  63 +ENV HUNPOS_TAGGER="/root/vlibras-libs/aelius/bin/hunpos-tag"
  64 +ENV AELIUS_DATA="/root/vlibras-libs/aelius/aelius_data"
  65 +ENV TRANSLATE_DATA="/root/vlibras-translate/data"
  66 +ENV NLTK_DATA="/root/vlibras-libs/aelius/nltk_data"
  67 +ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vlibras-libs/aelius:/root/vlibras-translate/src"
  68 +#ENV NODE_PATH=/home/vlibras/vlibras-api/node_modules/;%NODE_PATH%
  69 +
  70 +#Comando de entrada quando inicializado
  71 +ENTRYPOINT sleep 1m ; python /root/processManager.py
vlibras-api/.DS_Store 0 → 100644
No preview for this file type
vlibras-api/db/config.js
@@ -6,7 +6,7 @@ function connectMongo(mongoose) { @@ -6,7 +6,7 @@ function connectMongo(mongoose) {
6 console.log('Conectado ao MongoDB.') 6 console.log('Conectado ao MongoDB.')
7 }); 7 });
8 8
9 - mongoose.connect('mongodb://localhost/vlibras-api'); 9 + mongoose.connect('mongodb://mongo/vlibras-api');
10 }; 10 };
11 11
12 -module.exports.connect = connectMongo;  
13 \ No newline at end of file 12 \ No newline at end of file
  13 +module.exports.connect = connectMongo;
vlibras-api/endpoints/ios.js
@@ -4,14 +4,12 @@ var queue_helper = require('../helpers/queue'); @@ -4,14 +4,12 @@ var queue_helper = require('../helpers/queue');
4 var exec = require('child_process').exec, child; 4 var exec = require('child_process').exec, child;
5 var uuid = require('node-uuid'); 5 var uuid = require('node-uuid');
6 var fs = require('fs'); 6 var fs = require('fs');
7 -var kue = require('kue'),  
8 - queue = kue.createQueue();  
9 var logger = require('../logsystem/main.js'); 7 var logger = require('../logsystem/main.js');
10 8
11 function init(req, res) { 9 function init(req, res) {
12 10
13 logger.incrementService("outros", "requisicoes"); 11 logger.incrementService("outros", "requisicoes");
14 - 12 +
15 var id = uuid.v4(); 13 var id = uuid.v4();
16 14
17 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ 15 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */
@@ -36,30 +34,30 @@ function init(req, res) { @@ -36,30 +34,30 @@ function init(req, res) {
36 // child = exec(command_line, function(err, stdout, stderr) { 34 // child = exec(command_line, function(err, stdout, stderr) {
37 // // [stdout] = vlibras-core output 35 // // [stdout] = vlibras-core output
38 // }); 36 // });
39 -  
40 - var child;  
41 - var job = queue.create('exec_command_line' + id, {  
42 - title: 'Command Line for: ' + req.body.servico,  
43 - command_line: command_line  
44 - }).removeOnComplete( true ).save();  
45 -  
46 - queue.process('exec_command_line' + id, function(job, done){  
47 - child = queue_helper.exec_command_line(job.data.command_line, done);  
48 - });  
49 -  
50 - job.on('complete', function() {  
51 - /* Listener que dispara quando a requisição ao core finaliza */  
52 - child.on('close', function(code, signal){  
53 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4' });  
54 - logger.incrementService("outros", "traducoes");  
55 - });  
56 -  
57 - /* Listener que dispara quando a requisição ao core da erro */  
58 - child.on('error', function(code, signal){  
59 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
60 - logger.incrementError("1", err);  
61 - });  
62 - }); 37 + //
  38 + // var child;
  39 + // var job = queue.create('exec_command_line' + id, {
  40 + // title: 'Command Line for: ' + req.body.servico,
  41 + // command_line: command_line
  42 + // }).removeOnComplete( true ).save();
  43 + //
  44 + // queue.process('exec_command_line' + id, function(job, done){
  45 + // child = queue_helper.exec_command_line(job.data.command_line, done);
  46 + // });
  47 + //
  48 + // job.on('complete', function() {
  49 + // /* Listener que dispara quando a requisição ao core finaliza */
  50 + // child.on('close', function(code, signal){
  51 + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4' });
  52 + // logger.incrementService("outros", "traducoes");
  53 + // });
  54 + //
  55 + // /* Listener que dispara quando a requisição ao core da erro */
  56 + // child.on('error', function(code, signal){
  57 + // res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  58 + // logger.incrementError("1", err);
  59 + // });
  60 + // });
63 } 61 }
64 62
65 module.exports.init = init; 63 module.exports.init = init;
vlibras-api/endpoints/legenda.js
@@ -4,8 +4,8 @@ var queue_helper = require('../helpers/queue'); @@ -4,8 +4,8 @@ var queue_helper = require('../helpers/queue');
4 var exec = require('child_process').exec, child; 4 var exec = require('child_process').exec, child;
5 var uuid = require('node-uuid'); 5 var uuid = require('node-uuid');
6 var fs = require('fs'); 6 var fs = require('fs');
7 -var kue = require('kue'),  
8 - queue = kue.createQueue(); 7 +// var kue = require('kue'),
  8 +// queue = kue.createQueue();
9 var logger = require('../logsystem/main.js'); 9 var logger = require('../logsystem/main.js');
10 10
11 function init(req, res) { 11 function init(req, res) {
@@ -53,28 +53,28 @@ function init(req, res) { @@ -53,28 +53,28 @@ function init(req, res) {
53 // // console.log(stdout); 53 // // console.log(stdout);
54 // }); 54 // });
55 55
56 - var job = queue.create('exec_command_line' + id, {  
57 - title: 'Command Line for: ' + req.body.servico,  
58 - command_line: command_line  
59 - }).save();  
60 -  
61 - queue.process('exec_command_line' + id, function(job, done){  
62 - child = queue_helper.exec_command_line(job.data.command_line, done);  
63 - });  
64 -  
65 - job.on('complete', function() {  
66 - /* Listener que dispara quando a requisição ao core finaliza */  
67 - child.on('close', function(code, signal){  
68 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' });  
69 - logger.incrementService("outros", "traducoes");  
70 - });  
71 -  
72 - /* Listener que dispara quando a requisição ao core da erro */  
73 - child.on('error', function(code, signal){  
74 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
75 - logger.incrementError("legenda", err);  
76 - });  
77 - }); 56 + // var job = queue.create('exec_command_line' + id, {
  57 + // title: 'Command Line for: ' + req.body.servico,
  58 + // command_line: command_line
  59 + // }).save();
  60 + //
  61 + // queue.process('exec_command_line' + id, function(job, done){
  62 + // child = queue_helper.exec_command_line(job.data.command_line, done);
  63 + // });
  64 + //
  65 + // job.on('complete', function() {
  66 + // /* Listener que dispara quando a requisição ao core finaliza */
  67 + // child.on('close', function(code, signal){
  68 + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' });
  69 + // logger.incrementService("outros", "traducoes");
  70 + // });
  71 + //
  72 + // /* Listener que dispara quando a requisição ao core da erro */
  73 + // child.on('error', function(code, signal){
  74 + // res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  75 + // logger.incrementError("legenda", err);
  76 + // });
  77 + // });
78 78
79 }); 79 });
80 } 80 }
vlibras-api/endpoints/texto.js
@@ -5,8 +5,8 @@ var db = require('../db/api'); @@ -5,8 +5,8 @@ var db = require('../db/api');
5 var exec = require('child_process').exec, child; 5 var exec = require('child_process').exec, child;
6 var uuid = require('node-uuid'); 6 var uuid = require('node-uuid');
7 var fs = require('fs'); 7 var fs = require('fs');
8 -var kue = require('kue'),  
9 - queue = kue.createQueue(); 8 +// var kue = require('kue'),
  9 +// queue = kue.createQueue();
10 var logger = require('../logsystem/main.js'); 10 var logger = require('../logsystem/main.js');
11 11
12 function init(req, res, Request) { 12 function init(req, res, Request) {
@@ -49,33 +49,33 @@ function init(req, res, Request) { @@ -49,33 +49,33 @@ function init(req, res, Request) {
49 var command_line = 'echo ' + req.body.texto + ' >> text_files/' + id + ' && mkdir uploads/' + id + ' && vlibras_user/vlibras-core/./vlibras -T ' + 'text_files/' + id + ' -l portugues -b ' + parameters.getTransparency(req.body.transparencia) + ' --id ' + id + ' --mode devel >> /tmp/core_log 2>&1'; 49 var command_line = 'echo ' + req.body.texto + ' >> text_files/' + id + ' && mkdir uploads/' + id + ' && vlibras_user/vlibras-core/./vlibras -T ' + 'text_files/' + id + ' -l portugues -b ' + parameters.getTransparency(req.body.transparencia) + ' --id ' + id + ' --mode devel >> /tmp/core_log 2>&1';
50 50
51 console.log(command_line); 51 console.log(command_line);
52 - var child;  
53 - var job = queue.process('exec_command_line' + id, {  
54 - title: 'Command Line for: ' + req.body.servico,  
55 - command_line: command_line  
56 - }).removeOnComplete( true ).save();  
57 -  
58 - queue.process('exec_command_line' + id, function(job, done){  
59 - child = queue_helper.exec_command_line(job.data.command_line, done);  
60 - });  
61 -  
62 - job.on('complete', function() {  
63 - /* Listener que dispara quando a requisição ao core finaliza */  
64 - child.on('close', function(code, signal) {  
65 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' });  
66 - db.update(Request, request_object.id, 'Completed', function(result) { console.log(result); });  
67 - logger.incrementService("outros", "traducoes");  
68 - });  
69 -  
70 - /* Listener que dispara quando a requisição ao core da erro */  
71 - child.on('error', function(code, signal){  
72 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
73 - logger.incrementError("core", 'Erro na chamada ao core');  
74 - db.update(request_object, 'Error', function(result) {  
75 - });  
76 - });  
77 -  
78 - }); 52 + // var child;
  53 + // var job = queue.process('exec_command_line' + id, {
  54 + // title: 'Command Line for: ' + req.body.servico,
  55 + // command_line: command_line
  56 + // }).removeOnComplete( true ).save();
  57 + //
  58 + // queue.process('exec_command_line' + id, function(job, done){
  59 + // child = queue_helper.exec_command_line(job.data.command_line, done);
  60 + // });
  61 + //
  62 + // job.on('complete', function() {
  63 + // /* Listener que dispara quando a requisição ao core finaliza */
  64 + // child.on('close', function(code, signal) {
  65 + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' });
  66 + // db.update(Request, request_object.id, 'Completed', function(result) { console.log(result); });
  67 + // logger.incrementService("outros", "traducoes");
  68 + // });
  69 + //
  70 + // /* Listener que dispara quando a requisição ao core da erro */
  71 + // child.on('error', function(code, signal){
  72 + // res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  73 + // logger.incrementError("core", 'Erro na chamada ao core');
  74 + // db.update(request_object, 'Error', function(result) {
  75 + // });
  76 + // });
  77 + //
  78 + // });
79 79
80 } 80 }
81 81
vlibras-api/endpoints/video_legenda.js
@@ -125,7 +125,7 @@ function downloadAndMoveFiles(folder, req, locals, callback) { @@ -125,7 +125,7 @@ function downloadAndMoveFiles(folder, req, locals, callback) {
125 } 125 }
126 //Funcao de adicionar na fila 126 //Funcao de adicionar na fila
127 function sendToQueue(request_object, req, locals ,res, callback){ 127 function sendToQueue(request_object, req, locals ,res, callback){
128 - amqp.connect('amqp://localhost', function(erro, conn) { 128 + amqp.connect('amqp://rabbit', function(erro, conn) {
129 if(erro != null){ 129 if(erro != null){
130 //res.json({message : erro}); 130 //res.json({message : erro});
131 throw erro; 131 throw erro;
@@ -165,7 +165,7 @@ function sendToQueue(request_object, req, locals ,res, callback){ @@ -165,7 +165,7 @@ function sendToQueue(request_object, req, locals ,res, callback){
165 165
166 //Funcao de receber da fila 166 //Funcao de receber da fila
167 function receiveFromQueue(request_object, Request, res, callback){ 167 function receiveFromQueue(request_object, Request, res, callback){
168 - amqp.connect('amqp://localhost', function(erro, conn) { 168 + amqp.connect('amqp://rabbit', function(erro, conn) {
169 if(erro != null){ 169 if(erro != null){
170 res.json({ 170 res.json({
171 message : erro 171 message : erro
vlibras-api/endpoints/videornp.js
@@ -3,14 +3,12 @@ var properties = require('../helpers/properties'); @@ -3,14 +3,12 @@ var properties = require('../helpers/properties');
3 var files = require('../helpers/files'); 3 var files = require('../helpers/files');
4 var core = require('../helpers/core'); 4 var core = require('../helpers/core');
5 var db = require('../db/api'); 5 var db = require('../db/api');
6 -var queue_helper = require('../helpers/queue'); 6 +// var queue_helper = require('../helpers/queue');
7 var exec = require('child_process').exec, child; 7 var exec = require('child_process').exec, child;
8 var uuid = require('node-uuid'); 8 var uuid = require('node-uuid');
9 var mkdirp = require('mkdirp'); 9 var mkdirp = require('mkdirp');
10 var async = require('async'); 10 var async = require('async');
11 var _ = require('lodash'); 11 var _ = require('lodash');
12 -var kue = require('kue'),  
13 - queue = kue.createQueue();  
14 var logger = require('../logsystem/main.js'); 12 var logger = require('../logsystem/main.js');
15 var url = require('url'); 13 var url = require('url');
16 var requests = require('../helpers/requests'); 14 var requests = require('../helpers/requests');
@@ -189,14 +187,14 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) { @@ -189,14 +187,14 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) {
189 console.log("Chamada ao core == " + command_line); 187 console.log("Chamada ao core == " + command_line);
190 188
191 var child; 189 var child;
192 - var job = queue.create('exec_command_line' + id, {  
193 - title: 'Command Line for: ' + req.body.servico,  
194 - command_line: command_line  
195 - }).removeOnComplete( true ).save();  
196 - queue.process('exec_command_line' + id, function(job, done){  
197 - child = queue_helper.exec_command_line(job.data.command_line, done);  
198 - console.log("queue process");  
199 - }); 190 + // var job = queue.create('exec_command_line' + id, {
  191 + // title: 'Command Line for: ' + req.body.servico,
  192 + // command_line: command_line
  193 + // }).removeOnComplete( true ).save();
  194 + // queue.process('exec_command_line' + id, function(job, done){
  195 + // child = queue_helper.exec_command_line(job.data.command_line, done);
  196 + // console.log("queue process");
  197 + // });
200 198
201 job.on('complete', function() { 199 job.on('complete', function() {
202 /* Executa a linha de comando */ 200 /* Executa a linha de comando */
vlibras-api/helpers/core.js
@@ -5,8 +5,8 @@ var url = require('url'); @@ -5,8 +5,8 @@ var url = require('url');
5 var http = require('http'); 5 var http = require('http');
6 var querystring = require('querystring'); 6 var querystring = require('querystring');
7 var exec = require('child_process').exec, child; 7 var exec = require('child_process').exec, child;
8 -var kue = require('kue'),  
9 - queue = kue.createQueue(); 8 +// var kue = require('kue'),
  9 +// queue = kue.createQueue();
10 var logger = require('../logsystem/main.js'); 10 var logger = require('../logsystem/main.js');
11 var db = require('../db/api'); 11 var db = require('../db/api');
12 12
@@ -31,94 +31,94 @@ function call(id, command_line, req, res, Request, request_object, req_type) { @@ -31,94 +31,94 @@ function call(id, command_line, req, res, Request, request_object, req_type) {
31 command_line: command_line 31 command_line: command_line
32 }).removeOnComplete( true ).save(); 32 }).removeOnComplete( true ).save();
33 33
34 - queue.process('exec_command_line' + id, function(job, done){  
35 - child = queue_helper.exec_command_line(job.data.command_line, done);  
36 - });  
37 -  
38 - job.on('complete', function() {  
39 - // Se o callback não foi definido  
40 - if (req.body.callback === undefined) {  
41 -  
42 - // Se a chamada foi feita com sucesso  
43 - child.on('close', function(code, signal) {  
44 -  
45 - // Se o core executou com erro  
46 - if (code !== 0) {  
47 - db.update(Request, request_object.id, 'Error', function (result) {  
48 - });  
49 - console.log("Erro no retorno do core. Código: " + code);  
50 - logger.incrementError('core', "Erro no retorno do core. Código: " + code);  
51 - } else {  
52 - // Se o core executou normal  
53 - db.update(Request, request_object.id, 'Completed', function (result) {});  
54 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'});  
55 - logger.incrementService(req_type, "traducoes");  
56 - }  
57 - });  
58 -  
59 - // Se a chamada deu erro  
60 - child.on('error', function(code, signal) {  
61 - console.log("Erro no retorno do core. Código: " + code);  
62 - logger.incrementError('core', "Erro no retorno do core. Código: " + code);  
63 - });  
64 -  
65 -  
66 - // Se o callback foi definido  
67 - } else {  
68 -  
69 - // Se a chamada foi feita com sucesso  
70 - child.on('close', function(code, signal) {  
71 - var data;  
72 -  
73 - // Endereço do callback  
74 - var path = url.parse(req.body.callback);  
75 -  
76 - // Se o core executou com erro  
77 - // if (code === 0) {  
78 - // data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', 'id' : id });  
79 - // } else {  
80 - // data = querystring.stringify({ 'error': 'Erro no Core', 'code': code, 'id' : id });  
81 - // logger.incrementError('core', "Erro no retorno do core. Código: " + code);  
82 - // }  
83 -  
84 - // Se o core executou com erro  
85 - if (code !== 0) {  
86 - db.update(Request, request_object.id, 'Error', function (result) {  
87 - });  
88 - console.log("Erro no retorno do core. Código: " + code);  
89 - logger.incrementError('core', "Erro no retorno do core. Código: " + code);  
90 - data = {  
91 - 'error' : code  
92 - };  
93 - } else {  
94 - // Se o core executou normal  
95 - db.update(Request, request_object.id, 'Completed', function (result) {});  
96 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'});  
97 - logger.incrementService(req_type, "traducoes");  
98 -  
99 - data = {  
100 - 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4',  
101 - 'versao' : '1.0',  
102 - 'legenda' : ''  
103 - };  
104 - }  
105 - console.log("Path == " + path);  
106 - data = JSON.stringify(data);  
107 - requests.postRequest(path, data);  
108 - });  
109 -  
110 - // Se a chamada deu erro  
111 - child.on('error', function(code, signal) {  
112 - var path = url.parse(req.body.callback);  
113 - var data = JSON.stringify( { 'error': 'Erro na chamada ao core', 'code': code, 'id': id } );  
114 - logger.incrementError('core', "Erro no retorno do core. Código: " + code);  
115 - requests.postRequest(path, data);  
116 - }); 34 + // queue.process('exec_command_line' + id, function(job, done){
  35 + // child = queue_helper.exec_command_line(job.data.command_line, done);
  36 + // });
117 37
118 - // Retorno da primeira requisição  
119 - res.send(200, JSON.stringify({ 'id': id }));  
120 - }  
121 - }); 38 + // job.on('complete', function() {
  39 + // // Se o callback não foi definido
  40 + // if (req.body.callback === undefined) {
  41 + //
  42 + // // Se a chamada foi feita com sucesso
  43 + // child.on('close', function(code, signal) {
  44 + //
  45 + // // Se o core executou com erro
  46 + // if (code !== 0) {
  47 + // db.update(Request, request_object.id, 'Error', function (result) {
  48 + // });
  49 + // console.log("Erro no retorno do core. Código: " + code);
  50 + // logger.incrementError('core', "Erro no retorno do core. Código: " + code);
  51 + // } else {
  52 + // // Se o core executou normal
  53 + // db.update(Request, request_object.id, 'Completed', function (result) {});
  54 + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'});
  55 + // logger.incrementService(req_type, "traducoes");
  56 + // }
  57 + // });
  58 + //
  59 + // // Se a chamada deu erro
  60 + // child.on('error', function(code, signal) {
  61 + // console.log("Erro no retorno do core. Código: " + code);
  62 + // logger.incrementError('core', "Erro no retorno do core. Código: " + code);
  63 + // });
  64 + //
  65 + //
  66 + // // Se o callback foi definido
  67 + // } else {
  68 + //
  69 + // // Se a chamada foi feita com sucesso
  70 + // child.on('close', function(code, signal) {
  71 + // var data;
  72 + //
  73 + // // Endereço do callback
  74 + // var path = url.parse(req.body.callback);
  75 + //
  76 + // // Se o core executou com erro
  77 + // // if (code === 0) {
  78 + // // data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', 'id' : id });
  79 + // // } else {
  80 + // // data = querystring.stringify({ 'error': 'Erro no Core', 'code': code, 'id' : id });
  81 + // // logger.incrementError('core', "Erro no retorno do core. Código: " + code);
  82 + // // }
  83 + //
  84 + // // Se o core executou com erro
  85 + // if (code !== 0) {
  86 + // db.update(Request, request_object.id, 'Error', function (result) {
  87 + // });
  88 + // console.log("Erro no retorno do core. Código: " + code);
  89 + // logger.incrementError('core', "Erro no retorno do core. Código: " + code);
  90 + // data = {
  91 + // 'error' : code
  92 + // };
  93 + // } else {
  94 + // // Se o core executou normal
  95 + // db.update(Request, request_object.id, 'Completed', function (result) {});
  96 + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'});
  97 + // logger.incrementService(req_type, "traducoes");
  98 + //
  99 + // data = {
  100 + // 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4',
  101 + // 'versao' : '1.0',
  102 + // 'legenda' : ''
  103 + // };
  104 + // }
  105 + // console.log("Path == " + path);
  106 + // data = JSON.stringify(data);
  107 + // requests.postRequest(path, data);
  108 + // });
  109 + //
  110 + // // Se a chamada deu erro
  111 + // child.on('error', function(code, signal) {
  112 + // var path = url.parse(req.body.callback);
  113 + // var data = JSON.stringify( { 'error': 'Erro na chamada ao core', 'code': code, 'id': id } );
  114 + // logger.incrementError('core', "Erro no retorno do core. Código: " + code);
  115 + // requests.postRequest(path, data);
  116 + // });
  117 + //
  118 + // // Retorno da primeira requisição
  119 + // res.send(200, JSON.stringify({ 'id': id }));
  120 + // }
  121 + // });
122 } 122 }
123 123
124 module.exports.call = call; 124 module.exports.call = call;
vlibras-api/helpers/properties.js 100755 → 100644
1 -var host = '150.165.205.10';  
2 -var port = 200;  
3 -var uploads_folder = './uploads/';  
4 -var ip = require('ip'); 1 +var host = process.env.VLIBRAS_VIDEO_IP;
  2 +var port = process.env.VLIBRAS_VIDEO_PORT;
  3 +var uploads_folder = 'uploads/';
5 4
6 module.exports.host = host; 5 module.exports.host = host;
7 module.exports.port = port; 6 module.exports.port = port;
8 module.exports.uploads_folder = uploads_folder; 7 module.exports.uploads_folder = uploads_folder;
9 -module.exports.SERVER_IP = '150.165.205.10'; 8 +module.exports.SERVER_IP = process.env.VLIBRAS_VIDEO_IP;
vlibras-api/logsystem/main.coffee
1 config = require('../config/main.js') 1 config = require('../config/main.js')
2 fs = require('fs') 2 fs = require('fs')
3 -kue = require('kue')  
4 -queue = kue.createQueue()  
5 exports = module.exports = {} 3 exports = module.exports = {}
6 4
7 # 1 - Core retornou um erro. 5 # 1 - Core retornou um erro.
vlibras-api/logsystem/main.js
@@ -5,9 +5,9 @@ @@ -5,9 +5,9 @@
5 5
6 fs = require('fs'); 6 fs = require('fs');
7 7
8 - kue = require('kue');  
9 -  
10 - queue = kue.createQueue(); 8 + // kue = require('kue');
  9 + //
  10 + // queue = kue.createQueue();
11 11
12 exports = module.exports = {}; 12 exports = module.exports = {};
13 13
vlibras-api/package.json
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 "mkdirp": "^0.5.0", 15 "mkdirp": "^0.5.0",
16 "node-uuid": "^1.4.1", 16 "node-uuid": "^1.4.1",
17 "ip": "latest", 17 "ip": "latest",
18 - "mongoose": "^3.8.16", 18 + "mongoose": "^4.4.12",
19 "python-shell": "0.0.3", 19 "python-shell": "0.0.3",
20 "kue": "latest", 20 "kue": "latest",
21 "unirest": "latest", 21 "unirest": "latest",
vlibras-api/server.js
@@ -21,39 +21,33 @@ var db = require('./db/api'); @@ -21,39 +21,33 @@ var db = require('./db/api');
21 var config = require('./config/main.js'); 21 var config = require('./config/main.js');
22 var logger = require('./logsystem/main.js'); 22 var logger = require('./logsystem/main.js');
23 var unirest = require('unirest'); 23 var unirest = require('unirest');
24 -var kue = require('kue'),  
25 -redis = require('kue/node_modules/redis');  
26 -var queue_helper = require('./helpers/queue');  
27 -  
28 -app.redisClient = redis.createClient(config.redisPort, config.redisUrl,{});  
29 -  
30 -app.redisClient.on('connect', function () {  
31 - console.info('successful connection to redis server');  
32 -});  
33 -  
34 -app.redisClient.on('error', function (err) {  
35 - console.log('Redis error encountered', err);  
36 -});  
37 -  
38 -app.redisClient.on('end', function() {  
39 - console.log('Redis connection closed');  
40 -});  
41 -  
42 -kue.app.listen(config.kuePort);  
43 -  
44 -var queue = kue.createQueue({  
45 - redis: {  
46 - createClientFactory: function(){  
47 - return app.redisClient;  
48 - }  
49 - }  
50 -});  
51 -  
52 -  
53 -queue.process('exec_command_line', function(job, done){  
54 - child = queue_helper.exec_command_line(job.data.command_line, job.data.callback, Request, job.data.idreq, job.data.res, job.data.idsolicitacao, done);  
55 - console.log("Executando requisicao " + job.id + " enfileirada.");  
56 -}); 24 +// var kue = require('kue'),
  25 +// redis = require('kue/node_modules/redis');
  26 +// var queue_helper = require('./helpers/queue');
  27 +
  28 +// app.redisClient = redis.createClient(config.redisPort, config.redisUrl,{});
  29 +//
  30 +// app.redisClient.on('connect', function () {
  31 +// console.info('successful connection to redis server');
  32 +// });
  33 +//
  34 +// app.redisClient.on('error', function (err) {
  35 +// console.log('Redis error encountered', err);
  36 +// });
  37 +//
  38 +// app.redisClient.on('end', function() {
  39 +// console.log('Redis connection closed');
  40 +// });
  41 +//
  42 +// kue.app.listen(config.kuePort);
  43 +//
  44 +// var queue = kue.createQueue({
  45 +// redis: {
  46 +// createClientFactory: function(){
  47 +// return app.redisClient;
  48 +// }
  49 +// }
  50 +// });
57 51
58 var PythonShell = require('python-shell'); 52 var PythonShell = require('python-shell');
59 53
@@ -63,10 +57,6 @@ var options = { @@ -63,10 +57,6 @@ var options = {
63 args: [] 57 args: []
64 }; 58 };
65 59
66 -app.use('/kue', kue.app);  
67 -  
68 -// app.use(express.bodyParser.json({limit: "1000mb"}));  
69 -// app.use(express.bodyParser.urlencoded({ limit: "1000mb", extended: true }));  
70 app.use(express.static(path.join(__dirname, '/uploads'))); 60 app.use(express.static(path.join(__dirname, '/uploads')));
71 app.use(express.static('/storage/videos/')); 61 app.use(express.static('/storage/videos/'));
72 app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads'), limit: "1500mb" })); 62 app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads'), limit: "1500mb" }));
@@ -179,60 +169,6 @@ app.get('/glosa', function(req, res) { @@ -179,60 +169,6 @@ app.get('/glosa', function(req, res) {
179 // res.send(200, "Incrementado"); 169 // res.send(200, "Incrementado");
180 // }); 170 // });
181 171
182 -app.get('/api/limparfila', function(req, res) {  
183 -  
184 - // graceful shutdown  
185 - process.once( 'SIGTERM', function ( sig ) {  
186 - queue.shutdown( 5000, function(err) {  
187 - console.log( 'Kue shutdown: ', err||'' );  
188 - process.exit( 0 );  
189 - });  
190 - });  
191 -  
192 - // todos abaixos sao redundantes  
193 - queue.inactive( function( err, ids ) {  
194 - ids.forEach( function( id ) {  
195 - kue.Job.get( id, function( err, job ) {  
196 - job.remove( function(){  
197 - // console.log( 'removed ', job.id );  
198 - });  
199 - });  
200 - });  
201 - });  
202 -  
203 - queue.active( function( err, ids ) {  
204 - ids.forEach( function( id ) {  
205 - kue.Job.get( id, function( err, job ) {  
206 - job.remove( function(){  
207 - // console.log( 'removed ', job.id );  
208 - });  
209 - });  
210 - });  
211 - });  
212 -  
213 - queue.complete( function( err, ids ) {  
214 - ids.forEach( function( id ) {  
215 - kue.Job.get( id, function( err, job ) {  
216 - job.remove( function(){  
217 - // console.log( 'removed ', job.id );  
218 - });  
219 - });  
220 - });  
221 - });  
222 -  
223 - queue.failed( function( err, ids ) {  
224 - ids.forEach( function( id ) {  
225 - kue.Job.get( id, function( err, job ) {  
226 - job.remove( function(){  
227 - // console.log( 'removed ', job.id );  
228 - });  
229 - });  
230 - });  
231 - });  
232 -  
233 - res.send(200, {'status' : 'A fila foi resetada com sucesso.'});  
234 -});  
235 -  
236 app.get('/api/dicionario', function(req, res){ 172 app.get('/api/dicionario', function(req, res){
237 res.send(200, { 'versao': '1.0' } ); 173 res.send(200, { 'versao': '1.0' } );
238 }); 174 });