Esta documentación es para el despegamiento y mantenimiento de ojo-bot: procesador de productos a partir de fuentes de datos de NASA.
El proyecto consiste de una maquina virtual que corre localmente en Docker, luego es desplegado como instancias EC2 en Amazon Web Services por medio de Convox, estas maquinas procesa información recopilada de fuentes de la nasa que es publicada en forma de productos climaticos por medio de una aplicación en Node.js.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "ses:*", "rds:*" ], "Resource": "*" } ] }
Pasos:
$ convox login console.convox.com --password xxxx-xxx-xx-xx-xxx
$ convox switch personal/ojo-bot
$ git clone git@github.com:accionclima1/ojo-bot.git
$ cd ojo-bot
$ convox apps create ojo-bot
$ convox services create postgres --name workshop_db
$ convox services info workshop_db
$ convox services create s3 --name workshop_bucket
$ convox services info workshop_bucket
$ convox services create sqs --name workshop_queue
$ convox services info workshop_queue
Crear función para generar productos diariamente.
import boto3, datetime # Get the service resource sqs = boto3.resource('sqs') AWS_QUEUE="OJO-Q" def send_msg(): queue = sqs.get_queue_by_name(QueueName=AWS_QUEUE) response = queue.send_message(MessageBody='process_all') def lambda_handler(event, context): print('Sending msg to process all scripts') try: send_msg() except: print('Send Message failed!') raise else: print('Done!') return 1 finally: print('Complete at {}'.format(str(datetime.datetime.now())))
Instalar docker e inicializar VM via Docker Quickstart Terminal
docker --version Docker version 1.11.0 docker-machine env default bash eval "$(docker-machine env default)" docker ps
docker-compose build development docker images
Iniciar shell en modo desarrollo, para procesar python scripts
docker run -i -p 7465:7465 -t ojobot_development /bin/bash
/python/process_name.py
/Users/augustovalerio/Sites/ojobot/ojo-bot/app/views/opensearch
public/swagger/
locale/