diff --git a/Dockerfile b/Dockerfile index bc3bd0e..3a24fe3 100755 --- a/Dockerfile +++ b/Dockerfile @@ -45,12 +45,9 @@ RUN add-apt-repository ppa:mc3man/trusty-media RUN apt-get -y update RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg -#Install Redis -RUN apt-get install -y redis-server -RUN service redis-server restart - WORKDIR / RUN mkdir /storage/ +RUN mkdir -p /storage/videos/ #Copy workers to container WORKDIR /root/ @@ -84,17 +81,12 @@ ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vli #Portas de comunicacao do container WORKDIR /root/vlibras-api/ -VOLUME ["/storage/"] - RUN npm cache clean RUN rm -rf node_modules RUN npm i RUN npm install amqplib -#ADD ./vlibras-api/node_modules/amqplib/ /root/vlibras-api/node_modules/amqplib/ RUN npm --version RUN node --version -# /etc/init.d/redis-server start - #Comando de entrada quando inicializado -ENTRYPOINT (sleep 3m) ; (node /root/vlibras-api/server.js & sleep 10) ; python /root/processManager.py +ENTRYPOINT (sleep 1m) ; (node /root/vlibras-api/server.js & sleep 10) ; python /root/processManager.py diff --git a/core/Dockerfile b/core/Dockerfile new file mode 100755 index 0000000..987fa5f --- /dev/null +++ b/core/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:14.04 +MAINTAINER Jonathan Brilhante +#Container para o Core + +#Dependencies installation - RabbitMQ / Graylog / Nodejs / Redis / MongoDB / FFmpeg + +#Packages updates +RUN apt-get -y upgrade +RUN apt-get -y update + +#Install necessary packages +RUN apt-get install -y build-essential libssl-dev sudo curl wget && apt-get clean + +#Install python packages +RUN apt-get install -y python python-setuptools && apt-get clean && easy_install pip + +#Install python and python lib for RabbitMQ +RUN pip install pika + +#Install Graylog +RUN pip install graypy +RUN pip install graypy[amqp] + +#Install aditional packages +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 +RUN pip install nltk==3.0.5 nltk_tgrep --upgrade +RUN pip install pysrt pyvirtualdisplay +RUN apt-get install -y software-properties-common && apt-get clean + +#Install FFmpeg +RUN add-apt-repository ppa:mc3man/trusty-media +RUN apt-get -y update +RUN apt-get install -y ffmpeg gstreamer0.10-ffmpeg && apt-get clean + +#RUN useradd -ms /bin/bash vlibras +#WORKDIR / +RUN mkdir /storage/ +#RUN mkdir /home/vlibras/ +#RUN chown -R vlibras /storage/ +#RUN chown -R vlibras /home/vlibras/ +#USER vlibras + +#Copy workers to container +WORKDIR /root/ +ADD ./extractor.py /root/extractor.py +ADD ./mixer.py /root/mixer.py +ADD ./renderer.py /root/renderer.py +ADD ./translator.py /root/translator.py +ADD ./PikaManager.py /root/PikaManager.py +ADD ./processManager.py /root/processManager.py +ADD ./log/ /root/log/ +ADD ./unityVideo/ /root/unityVideo/ +ADD ./vlibras-translate/ /root/vlibras-translate/ +ADD ./vlibras-libs/ /root/vlibras-libs/ + +#Workers environment variables +ENV VLIBRAS_VIDEO_CREATOR="/root/unityVideo/videoCreator.x86_64" +ENV VLIBRAS_VIDEO_LIBRAS="/storage/libras" +ENV VLIBRAS_VIDEO_MIXED="/storage/videos" +ENV VLIBRAS_VIDEO_SCREENS="/storage/frames" + +#Translator environment variables +ENV HUNPOS_TAGGER="/root/vlibras-libs/aelius/bin/hunpos-tag" +ENV AELIUS_DATA="/root/vlibras-libs/aelius/aelius_data" +ENV TRANSLATE_DATA="/root/vlibras-translate/data" +ENV NLTK_DATA="/root/vlibras-libs/aelius/nltk_data" +ENV PYTHONPATH=":/root/vlibras-libs/aelius:/root/vlibras-translate/src:/root/vlibras-libs/aelius:/root/vlibras-translate/src" +#ENV NODE_PATH=/home/vlibras/vlibras-api/node_modules/;%NODE_PATH% + +#Comando de entrada quando inicializado +ENTRYPOINT sleep 1m ; python /root/processManager.py diff --git a/vlibras-api/.DS_Store b/vlibras-api/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/vlibras-api/.DS_Store differ diff --git a/vlibras-api/db/config.js b/vlibras-api/db/config.js index 4982d44..380a90a 100755 --- a/vlibras-api/db/config.js +++ b/vlibras-api/db/config.js @@ -6,7 +6,7 @@ function connectMongo(mongoose) { console.log('Conectado ao MongoDB.') }); - mongoose.connect('mongodb://localhost/vlibras-api'); + mongoose.connect('mongodb://mongo/vlibras-api'); }; -module.exports.connect = connectMongo; \ No newline at end of file +module.exports.connect = connectMongo; diff --git a/vlibras-api/endpoints/ios.js b/vlibras-api/endpoints/ios.js index 5a32763..7b51262 100755 --- a/vlibras-api/endpoints/ios.js +++ b/vlibras-api/endpoints/ios.js @@ -4,14 +4,12 @@ var queue_helper = require('../helpers/queue'); var exec = require('child_process').exec, child; var uuid = require('node-uuid'); var fs = require('fs'); -var kue = require('kue'), - queue = kue.createQueue(); var logger = require('../logsystem/main.js'); function init(req, res) { logger.incrementService("outros", "requisicoes"); - + var id = uuid.v4(); /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ @@ -36,30 +34,30 @@ function init(req, res) { // child = exec(command_line, function(err, stdout, stderr) { // // [stdout] = vlibras-core output // }); - - var child; - var job = queue.create('exec_command_line' + id, { - title: 'Command Line for: ' + req.body.servico, - command_line: command_line - }).removeOnComplete( true ).save(); - - queue.process('exec_command_line' + id, function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, done); - }); - - job.on('complete', function() { - /* Listener que dispara quando a requisição ao core finaliza */ - child.on('close', function(code, signal){ - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4' }); - logger.incrementService("outros", "traducoes"); - }); - - /* Listener que dispara quando a requisição ao core da erro */ - child.on('error', function(code, signal){ - res.send(500, parameters.errorMessage('Erro na chamada ao core')); - logger.incrementError("1", err); - }); - }); + // + // var child; + // var job = queue.create('exec_command_line' + id, { + // title: 'Command Line for: ' + req.body.servico, + // command_line: command_line + // }).removeOnComplete( true ).save(); + // + // queue.process('exec_command_line' + id, function(job, done){ + // child = queue_helper.exec_command_line(job.data.command_line, done); + // }); + // + // job.on('complete', function() { + // /* Listener que dispara quando a requisição ao core finaliza */ + // child.on('close', function(code, signal){ + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4' }); + // logger.incrementService("outros", "traducoes"); + // }); + // + // /* Listener que dispara quando a requisição ao core da erro */ + // child.on('error', function(code, signal){ + // res.send(500, parameters.errorMessage('Erro na chamada ao core')); + // logger.incrementError("1", err); + // }); + // }); } module.exports.init = init; diff --git a/vlibras-api/endpoints/legenda.js b/vlibras-api/endpoints/legenda.js index 4df8dd4..1597201 100755 --- a/vlibras-api/endpoints/legenda.js +++ b/vlibras-api/endpoints/legenda.js @@ -4,8 +4,8 @@ var queue_helper = require('../helpers/queue'); var exec = require('child_process').exec, child; var uuid = require('node-uuid'); var fs = require('fs'); -var kue = require('kue'), - queue = kue.createQueue(); +// var kue = require('kue'), +// queue = kue.createQueue(); var logger = require('../logsystem/main.js'); function init(req, res) { @@ -53,28 +53,28 @@ function init(req, res) { // // console.log(stdout); // }); - var job = queue.create('exec_command_line' + id, { - title: 'Command Line for: ' + req.body.servico, - command_line: command_line - }).save(); - - queue.process('exec_command_line' + id, function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, done); - }); - - job.on('complete', function() { - /* Listener que dispara quando a requisição ao core finaliza */ - child.on('close', function(code, signal){ - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); - logger.incrementService("outros", "traducoes"); - }); - - /* Listener que dispara quando a requisição ao core da erro */ - child.on('error', function(code, signal){ - res.send(500, parameters.errorMessage('Erro na chamada ao core')); - logger.incrementError("legenda", err); - }); - }); + // var job = queue.create('exec_command_line' + id, { + // title: 'Command Line for: ' + req.body.servico, + // command_line: command_line + // }).save(); + // + // queue.process('exec_command_line' + id, function(job, done){ + // child = queue_helper.exec_command_line(job.data.command_line, done); + // }); + // + // job.on('complete', function() { + // /* Listener que dispara quando a requisição ao core finaliza */ + // child.on('close', function(code, signal){ + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.flv' }); + // logger.incrementService("outros", "traducoes"); + // }); + // + // /* Listener que dispara quando a requisição ao core da erro */ + // child.on('error', function(code, signal){ + // res.send(500, parameters.errorMessage('Erro na chamada ao core')); + // logger.incrementError("legenda", err); + // }); + // }); }); } diff --git a/vlibras-api/endpoints/texto.js b/vlibras-api/endpoints/texto.js index ef61a57..75dae67 100755 --- a/vlibras-api/endpoints/texto.js +++ b/vlibras-api/endpoints/texto.js @@ -5,8 +5,8 @@ var db = require('../db/api'); var exec = require('child_process').exec, child; var uuid = require('node-uuid'); var fs = require('fs'); -var kue = require('kue'), - queue = kue.createQueue(); +// var kue = require('kue'), +// queue = kue.createQueue(); var logger = require('../logsystem/main.js'); function init(req, res, Request) { @@ -49,33 +49,33 @@ function init(req, res, Request) { 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'; console.log(command_line); - var child; - var job = queue.process('exec_command_line' + id, { - title: 'Command Line for: ' + req.body.servico, - command_line: command_line - }).removeOnComplete( true ).save(); - - queue.process('exec_command_line' + id, function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, done); - }); - - job.on('complete', function() { - /* Listener que dispara quando a requisição ao core finaliza */ - child.on('close', function(code, signal) { - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); - db.update(Request, request_object.id, 'Completed', function(result) { console.log(result); }); - logger.incrementService("outros", "traducoes"); - }); - - /* Listener que dispara quando a requisição ao core da erro */ - child.on('error', function(code, signal){ - res.send(500, parameters.errorMessage('Erro na chamada ao core')); - logger.incrementError("core", 'Erro na chamada ao core'); - db.update(request_object, 'Error', function(result) { - }); - }); - - }); + // var child; + // var job = queue.process('exec_command_line' + id, { + // title: 'Command Line for: ' + req.body.servico, + // command_line: command_line + // }).removeOnComplete( true ).save(); + // + // queue.process('exec_command_line' + id, function(job, done){ + // child = queue_helper.exec_command_line(job.data.command_line, done); + // }); + // + // job.on('complete', function() { + // /* Listener que dispara quando a requisição ao core finaliza */ + // child.on('close', function(code, signal) { + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); + // db.update(Request, request_object.id, 'Completed', function(result) { console.log(result); }); + // logger.incrementService("outros", "traducoes"); + // }); + // + // /* Listener que dispara quando a requisição ao core da erro */ + // child.on('error', function(code, signal){ + // res.send(500, parameters.errorMessage('Erro na chamada ao core')); + // logger.incrementError("core", 'Erro na chamada ao core'); + // db.update(request_object, 'Error', function(result) { + // }); + // }); + // + // }); } diff --git a/vlibras-api/endpoints/video_legenda.js b/vlibras-api/endpoints/video_legenda.js index 3de4d51..6e02980 100755 --- a/vlibras-api/endpoints/video_legenda.js +++ b/vlibras-api/endpoints/video_legenda.js @@ -125,7 +125,7 @@ function downloadAndMoveFiles(folder, req, locals, callback) { } //Funcao de adicionar na fila function sendToQueue(request_object, req, locals ,res, callback){ - amqp.connect('amqp://localhost', function(erro, conn) { + amqp.connect('amqp://rabbit', function(erro, conn) { if(erro != null){ //res.json({message : erro}); throw erro; @@ -165,7 +165,7 @@ function sendToQueue(request_object, req, locals ,res, callback){ //Funcao de receber da fila function receiveFromQueue(request_object, Request, res, callback){ - amqp.connect('amqp://localhost', function(erro, conn) { + amqp.connect('amqp://rabbit', function(erro, conn) { if(erro != null){ res.json({ message : erro diff --git a/vlibras-api/endpoints/videornp.js b/vlibras-api/endpoints/videornp.js index 5d6d542..27efdb2 100755 --- a/vlibras-api/endpoints/videornp.js +++ b/vlibras-api/endpoints/videornp.js @@ -3,14 +3,12 @@ var properties = require('../helpers/properties'); var files = require('../helpers/files'); var core = require('../helpers/core'); var db = require('../db/api'); -var queue_helper = require('../helpers/queue'); +// var queue_helper = require('../helpers/queue'); var exec = require('child_process').exec, child; var uuid = require('node-uuid'); var mkdirp = require('mkdirp'); var async = require('async'); var _ = require('lodash'); -var kue = require('kue'), - queue = kue.createQueue(); var logger = require('../logsystem/main.js'); var url = require('url'); var requests = require('../helpers/requests'); @@ -189,14 +187,14 @@ function callCoreSubtitle(id, subtitle, req, res, Request, request_object) { console.log("Chamada ao core == " + command_line); var child; - var job = queue.create('exec_command_line' + id, { - title: 'Command Line for: ' + req.body.servico, - command_line: command_line - }).removeOnComplete( true ).save(); - queue.process('exec_command_line' + id, function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, done); - console.log("queue process"); - }); + // var job = queue.create('exec_command_line' + id, { + // title: 'Command Line for: ' + req.body.servico, + // command_line: command_line + // }).removeOnComplete( true ).save(); + // queue.process('exec_command_line' + id, function(job, done){ + // child = queue_helper.exec_command_line(job.data.command_line, done); + // console.log("queue process"); + // }); job.on('complete', function() { /* Executa a linha de comando */ diff --git a/vlibras-api/helpers/core.js b/vlibras-api/helpers/core.js index b7c498b..cb41684 100755 --- a/vlibras-api/helpers/core.js +++ b/vlibras-api/helpers/core.js @@ -5,8 +5,8 @@ var url = require('url'); var http = require('http'); var querystring = require('querystring'); var exec = require('child_process').exec, child; -var kue = require('kue'), - queue = kue.createQueue(); +// var kue = require('kue'), +// queue = kue.createQueue(); var logger = require('../logsystem/main.js'); var db = require('../db/api'); @@ -31,94 +31,94 @@ function call(id, command_line, req, res, Request, request_object, req_type) { command_line: command_line }).removeOnComplete( true ).save(); - queue.process('exec_command_line' + id, function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, done); - }); - - job.on('complete', function() { - // Se o callback não foi definido - if (req.body.callback === undefined) { - - // Se a chamada foi feita com sucesso - child.on('close', function(code, signal) { - - // Se o core executou com erro - if (code !== 0) { - db.update(Request, request_object.id, 'Error', function (result) { - }); - console.log("Erro no retorno do core. Código: " + code); - logger.incrementError('core', "Erro no retorno do core. Código: " + code); - } else { - // Se o core executou normal - db.update(Request, request_object.id, 'Completed', function (result) {}); - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'}); - logger.incrementService(req_type, "traducoes"); - } - }); - - // Se a chamada deu erro - child.on('error', function(code, signal) { - console.log("Erro no retorno do core. Código: " + code); - logger.incrementError('core', "Erro no retorno do core. Código: " + code); - }); - - - // Se o callback foi definido - } else { - - // Se a chamada foi feita com sucesso - child.on('close', function(code, signal) { - var data; - - // Endereço do callback - var path = url.parse(req.body.callback); - - // Se o core executou com erro - // if (code === 0) { - // data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', 'id' : id }); - // } else { - // data = querystring.stringify({ 'error': 'Erro no Core', 'code': code, 'id' : id }); - // logger.incrementError('core', "Erro no retorno do core. Código: " + code); - // } - - // Se o core executou com erro - if (code !== 0) { - db.update(Request, request_object.id, 'Error', function (result) { - }); - console.log("Erro no retorno do core. Código: " + code); - logger.incrementError('core', "Erro no retorno do core. Código: " + code); - data = { - 'error' : code - }; - } else { - // Se o core executou normal - db.update(Request, request_object.id, 'Completed', function (result) {}); - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'}); - logger.incrementService(req_type, "traducoes"); - - data = { - 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', - 'versao' : '1.0', - 'legenda' : '' - }; - } - console.log("Path == " + path); - data = JSON.stringify(data); - requests.postRequest(path, data); - }); - - // Se a chamada deu erro - child.on('error', function(code, signal) { - var path = url.parse(req.body.callback); - var data = JSON.stringify( { 'error': 'Erro na chamada ao core', 'code': code, 'id': id } ); - logger.incrementError('core', "Erro no retorno do core. Código: " + code); - requests.postRequest(path, data); - }); + // queue.process('exec_command_line' + id, function(job, done){ + // child = queue_helper.exec_command_line(job.data.command_line, done); + // }); - // Retorno da primeira requisição - res.send(200, JSON.stringify({ 'id': id })); - } - }); + // job.on('complete', function() { + // // Se o callback não foi definido + // if (req.body.callback === undefined) { + // + // // Se a chamada foi feita com sucesso + // child.on('close', function(code, signal) { + // + // // Se o core executou com erro + // if (code !== 0) { + // db.update(Request, request_object.id, 'Error', function (result) { + // }); + // console.log("Erro no retorno do core. Código: " + code); + // logger.incrementError('core', "Erro no retorno do core. Código: " + code); + // } else { + // // Se o core executou normal + // db.update(Request, request_object.id, 'Completed', function (result) {}); + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'}); + // logger.incrementService(req_type, "traducoes"); + // } + // }); + // + // // Se a chamada deu erro + // child.on('error', function(code, signal) { + // console.log("Erro no retorno do core. Código: " + code); + // logger.incrementError('core', "Erro no retorno do core. Código: " + code); + // }); + // + // + // // Se o callback foi definido + // } else { + // + // // Se a chamada foi feita com sucesso + // child.on('close', function(code, signal) { + // var data; + // + // // Endereço do callback + // var path = url.parse(req.body.callback); + // + // // Se o core executou com erro + // // if (code === 0) { + // // data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', 'id' : id }); + // // } else { + // // data = querystring.stringify({ 'error': 'Erro no Core', 'code': code, 'id' : id }); + // // logger.incrementError('core', "Erro no retorno do core. Código: " + code); + // // } + // + // // Se o core executou com erro + // if (code !== 0) { + // db.update(Request, request_object.id, 'Error', function (result) { + // }); + // console.log("Erro no retorno do core. Código: " + code); + // logger.incrementError('core', "Erro no retorno do core. Código: " + code); + // data = { + // 'error' : code + // }; + // } else { + // // Se o core executou normal + // db.update(Request, request_object.id, 'Completed', function (result) {}); + // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4'}); + // logger.incrementService(req_type, "traducoes"); + // + // data = { + // 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.mp4', + // 'versao' : '1.0', + // 'legenda' : '' + // }; + // } + // console.log("Path == " + path); + // data = JSON.stringify(data); + // requests.postRequest(path, data); + // }); + // + // // Se a chamada deu erro + // child.on('error', function(code, signal) { + // var path = url.parse(req.body.callback); + // var data = JSON.stringify( { 'error': 'Erro na chamada ao core', 'code': code, 'id': id } ); + // logger.incrementError('core', "Erro no retorno do core. Código: " + code); + // requests.postRequest(path, data); + // }); + // + // // Retorno da primeira requisição + // res.send(200, JSON.stringify({ 'id': id })); + // } + // }); } module.exports.call = call; diff --git a/vlibras-api/helpers/properties.js b/vlibras-api/helpers/properties.js old mode 100755 new mode 100644 index 566b5a9..81bd628 --- a/vlibras-api/helpers/properties.js +++ b/vlibras-api/helpers/properties.js @@ -1,9 +1,8 @@ -var host = '150.165.205.10'; -var port = 200; -var uploads_folder = './uploads/'; -var ip = require('ip'); +var host = process.env.VLIBRAS_VIDEO_IP; +var port = process.env.VLIBRAS_VIDEO_PORT; +var uploads_folder = 'uploads/'; module.exports.host = host; module.exports.port = port; module.exports.uploads_folder = uploads_folder; -module.exports.SERVER_IP = '150.165.205.10'; +module.exports.SERVER_IP = process.env.VLIBRAS_VIDEO_IP; diff --git a/vlibras-api/logsystem/main.coffee b/vlibras-api/logsystem/main.coffee index 6d935ca..7468f3e 100755 --- a/vlibras-api/logsystem/main.coffee +++ b/vlibras-api/logsystem/main.coffee @@ -1,7 +1,5 @@ config = require('../config/main.js') fs = require('fs') -kue = require('kue') -queue = kue.createQueue() exports = module.exports = {} # 1 - Core retornou um erro. diff --git a/vlibras-api/logsystem/main.js b/vlibras-api/logsystem/main.js index be96fdc..3b38598 100755 --- a/vlibras-api/logsystem/main.js +++ b/vlibras-api/logsystem/main.js @@ -5,9 +5,9 @@ fs = require('fs'); - kue = require('kue'); - - queue = kue.createQueue(); + // kue = require('kue'); + // + // queue = kue.createQueue(); exports = module.exports = {}; diff --git a/vlibras-api/package.json b/vlibras-api/package.json index 49fbb2b..681f313 100755 --- a/vlibras-api/package.json +++ b/vlibras-api/package.json @@ -15,7 +15,7 @@ "mkdirp": "^0.5.0", "node-uuid": "^1.4.1", "ip": "latest", - "mongoose": "^3.8.16", + "mongoose": "^4.4.12", "python-shell": "0.0.3", "kue": "latest", "unirest": "latest", diff --git a/vlibras-api/server.js b/vlibras-api/server.js index fc1d4ab..8e600ba 100755 --- a/vlibras-api/server.js +++ b/vlibras-api/server.js @@ -21,39 +21,33 @@ var db = require('./db/api'); var config = require('./config/main.js'); var logger = require('./logsystem/main.js'); var unirest = require('unirest'); -var kue = require('kue'), -redis = require('kue/node_modules/redis'); -var queue_helper = require('./helpers/queue'); - -app.redisClient = redis.createClient(config.redisPort, config.redisUrl,{}); - -app.redisClient.on('connect', function () { - console.info('successful connection to redis server'); -}); - -app.redisClient.on('error', function (err) { - console.log('Redis error encountered', err); -}); - -app.redisClient.on('end', function() { - console.log('Redis connection closed'); -}); - -kue.app.listen(config.kuePort); - -var queue = kue.createQueue({ - redis: { - createClientFactory: function(){ - return app.redisClient; - } - } -}); - - -queue.process('exec_command_line', function(job, done){ - child = queue_helper.exec_command_line(job.data.command_line, job.data.callback, Request, job.data.idreq, job.data.res, job.data.idsolicitacao, done); - console.log("Executando requisicao " + job.id + " enfileirada."); -}); +// var kue = require('kue'), +// redis = require('kue/node_modules/redis'); +// var queue_helper = require('./helpers/queue'); + +// app.redisClient = redis.createClient(config.redisPort, config.redisUrl,{}); +// +// app.redisClient.on('connect', function () { +// console.info('successful connection to redis server'); +// }); +// +// app.redisClient.on('error', function (err) { +// console.log('Redis error encountered', err); +// }); +// +// app.redisClient.on('end', function() { +// console.log('Redis connection closed'); +// }); +// +// kue.app.listen(config.kuePort); +// +// var queue = kue.createQueue({ +// redis: { +// createClientFactory: function(){ +// return app.redisClient; +// } +// } +// }); var PythonShell = require('python-shell'); @@ -63,10 +57,6 @@ var options = { args: [] }; -app.use('/kue', kue.app); - -// app.use(express.bodyParser.json({limit: "1000mb"})); -// app.use(express.bodyParser.urlencoded({ limit: "1000mb", extended: true })); app.use(express.static(path.join(__dirname, '/uploads'))); app.use(express.static('/storage/videos/')); app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads'), limit: "1500mb" })); @@ -179,60 +169,6 @@ app.get('/glosa', function(req, res) { // res.send(200, "Incrementado"); // }); -app.get('/api/limparfila', function(req, res) { - - // graceful shutdown - process.once( 'SIGTERM', function ( sig ) { - queue.shutdown( 5000, function(err) { - console.log( 'Kue shutdown: ', err||'' ); - process.exit( 0 ); - }); - }); - - // todos abaixos sao redundantes - queue.inactive( function( err, ids ) { - ids.forEach( function( id ) { - kue.Job.get( id, function( err, job ) { - job.remove( function(){ - // console.log( 'removed ', job.id ); - }); - }); - }); - }); - - queue.active( function( err, ids ) { - ids.forEach( function( id ) { - kue.Job.get( id, function( err, job ) { - job.remove( function(){ - // console.log( 'removed ', job.id ); - }); - }); - }); - }); - - queue.complete( function( err, ids ) { - ids.forEach( function( id ) { - kue.Job.get( id, function( err, job ) { - job.remove( function(){ - // console.log( 'removed ', job.id ); - }); - }); - }); - }); - - queue.failed( function( err, ids ) { - ids.forEach( function( id ) { - kue.Job.get( id, function( err, job ) { - job.remove( function(){ - // console.log( 'removed ', job.id ); - }); - }); - }); - }); - - res.send(200, {'status' : 'A fila foi resetada com sucesso.'}); -}); - app.get('/api/dicionario', function(req, res){ res.send(200, { 'versao': '1.0' } ); }); -- libgit2 0.21.2