Commit 4f31c9ff405f2dc30f7b5e1b3075bc08c3f44cc0
1 parent
faa01283
Exists in
master
and in
1 other branch
Alterações para versão MPOG
Showing
15 changed files
with
288 additions
and
296 deletions
Show diff stats
Dockerfile
@@ -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 |
@@ -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 |
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; |
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
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 | }); |