Skip to content
This repository has been archived by the owner on Aug 7, 2018. It is now read-only.

Commit

Permalink
Inicia trabalho no DbDumperJob. #456
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardofl committed Apr 28, 2018
1 parent fe2cea7 commit dcba58f
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# docker push radarparlamentar/radar:<VERSION>
# docker push radarparlamentar/radar:latest
# SOURCE: https://github.com/radar_parlamentar/radar
FROM radarparlamentar/base:1.0.2
FROM radarparlamentar/base:1.0.3

This comment has been minimized.

Copy link
@diraol

diraol Apr 29, 2018

Member

@leonardofl você atualizou a versão da imagem base mas esqueceu de subí-la no dockerhub! Dessa forma todos os nossos builds passam a falhar.

This comment has been minimized.

Copy link
@leonardofl

leonardofl Apr 29, 2018

Author Member

Ops :/


COPY radar_parlamentar/requirements.txt /tmp/requirements.txt
# git é uma dependência do projeto, utilizamos no código para pegar a versão
Expand Down
7 changes: 5 additions & 2 deletions DockerfileBase
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# VERSION 1.0.0-1
# VERSION 1.0.3
# AUTHOR: Diego Rabatone Oliveira (@diraol)
# DESCRIPTION: Radar Parlamentar main container
# BUILD: - docker build -t radarparlamentar/base:<VERSION> -t radarparlamentar/base:latest -f Dockerfile .
# BUILD: - docker build -t radarparlamentar/base:<VERSION> -t radarparlamentar/base:latest -f DockerfileBase .
# To push the base image to dockerhub run:
# docker push radarparlamentar/base:<VERSION>
# docker push radarparlamentar/base:latest
Expand Down Expand Up @@ -31,10 +31,13 @@ WORKDIR ${RADAR_HOME}
# postgresql-dev é necessário para instalar a lib que vai fazer a conexão com
# o postgres.
# musl-dev é usada apenas apra compilação da lib python psycopg2.
# postgresql é utilizado para a funcionalidade de dump do banco (pg_dump).
# Obs: pg_dump não está disponível em postgres_client =(
RUN set -ex \
&& apk add --update \
curl \
postgresql-dev \
postgresql \
git \
&& apk --no-cache add --virtual _build_deps \
build-base \
Expand Down
5 changes: 0 additions & 5 deletions radar_parlamentar/cron/dump-radar.sh

This file was deleted.

56 changes: 55 additions & 1 deletion radar_parlamentar/cron/jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from datetime import date
from django.core.cache import cache
import requests
import os
from modelagem import models

logger = logging.getLogger("radar")
Expand Down Expand Up @@ -69,4 +70,57 @@ def do(self):
# funciona.


# TODO class DbDumperJob - Executado segunda às 4h
class DbDumperJob(CronJobBase):
"""Executado segunda às 4h"""

RUN_AT_TIMES = ['04:00']
schedule = Schedule(run_at_times=RUN_AT_TIMES)
code = 'job.DbDumperJob'

def do(self):
logger.info('DbDumperJob foi chamado.')
weekday = date.today().weekday()
# segunda é o zero
if weekday == 0:
logger.info('DbDumperJob fazendo dump do banco.')
else:
logger.info('Hoje não é o dia. DbDumperJob só trabalha às segundas.')

class DbDumperJob(CronJobBase):
"""Executado segunda às 4h"""

RUN_AT_TIMES = ['04:00']
schedule = Schedule(run_at_times=RUN_AT_TIMES)
code = 'job.DbDumperJob'

def do(self):
logger.info('DbDumperJob foi chamado.')
weekday = date.today().weekday()
# segunda é o zero
if weekday == 0:
logger.info('DbDumperJob fazendo dump do banco.')
else:
logger.info('Hoje não é o dia. DbDumperJob só trabalha às segundas.')

class DbDumper():

# Roteiro:
# OK Verificar que link em dados não tem dump
# criar .pgpass
# Execução de pg_dump retornou: pg_dump: aborting because of server version mismatch
# Executar DbDumper sem collectstatic
# Verificar que link em dados não tem dump
# Executar DbDumper com collectstatic
# Verificar que link em dados tem dump
# Teste de DbDumper: 1o apaga arquivo se existir, executa, verifica se arquivo foi criado
# publicar radar/base no docker hub

DUMP_FILE = "/radar/radar_parlamentar/radar_parlamentar/static/db-dump/radar.sql"

def dump(self):
dump_command = 'pg_dump -h postgres -U radar -d radar -W --inserts -t modelagem_* -f %s' % DbDumper.DUMP_FILE
os.system(dump_command)
#compress_command = 'bzip2 -9 -f %s' % DbDumper.DUMP_FILE
#os.system(compress_command)
#collectstatic_command = 'python manage.py collectstatic --noinput' # necessário?
#os.system(collectstatic_command)

1 comment on commit dcba58f

@leonardofl
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mensagem errada... era issue #465 =(

Please sign in to comment.