Como a Globosat utiliza Python para distribuição de conteúdo
-
Upload
marcos-cardoso -
Category
Software
-
view
136 -
download
1
Transcript of Como a Globosat utiliza Python para distribuição de conteúdo
DEFINIÇÃO DE PÚBLICO-ALVO
IX Encontro PythonRio
Como a Globosat utiliza Python para distribuição de conteúdo
Marcos Cardoso
DEFINIÇÃO DE PÚBLICO-ALVO
MARCOS CARDOSOBacharel em Ciência da Computação - UFRJ
Desenvolvedor Backend @ Globosat
Entusiasta de Tuning, Backend, Game Dev, VR, Mobile
facebook.com/vrcmarcos
github.com/vrcmarcos
linkedin.com/vrcmarcos
slideshare.net/vrcmarcos
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
A Globosat● 33 canais
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
A Globosat● 33 canais
● Mais de 80 mil mídias
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
A Globosat● 33 canais
● Mais de 80 mil mídias
● Programação linear e não-linear
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
A Globosat● 33 canais
● Mais de 80 mil mídias
● Programação linear e não-linear
● Atendimento interno: VODs (Produtos Play)
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
A Globosat● 33 canais
● Mais de 80 mil mídias
● Programação linear e não-linear
● Atendimento interno: VODs (Produtos Play)
● Atendimento externo: Operadoras
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Os formulários
● O IBMS
● O Sisleo
● O CMS
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
O CMS
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Cenário● Possui um banco de dados próprio (MySQL/Percona)
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Cenário● Possui um banco de dados próprio (MySQL/Percona)● Precisa notificar as API’s a cada edição no cadastro de
mídia ( Globosat Play, Telecine Play )
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Cenário● Possui um banco de dados próprio (MySQL/Percona)● Precisa notificar as API’s a cada edição no cadastro de
mídia ( Globosat Play, Telecine Play )● Aproximadamente 13 mil edições/dia
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Cenário● Possui um banco de dados próprio (MySQL/Percona)● Precisa notificar as API’s a cada edição no cadastro de
mídia ( Globosat Play, Telecine Play )● Aproximadamente 13 mil edições/dia
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Solução
● Paralelizar o processamento
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
● Cria uma fila usando o Redis (Armazém de dados usado como BD/Cache/Broker) para enfileirar e consumir Jobs
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
● Cria uma fila usando o Redis (Armazém de dados usado como BD/Cache/Broker) para enfileirar e consumir Jobs
● Fornece um Worker para consumir os Jobs através de linha de comando
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
● Cria uma fila usando o Redis (Armazém de dados usado como BD/Cache/Broker) para enfileirar e consumir Jobs
● Fornece um Worker para consumir os Jobs através de linha de comando
● Fácil de implementar
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
● Cria uma fila usando o Redis (Armazém de dados usado como BD/Cache/Broker) para enfileirar e consumir Jobs
● Fornece um Worker para consumir os Jobs através de linha de comando
● Fácil de implementar
● Suporte à Django, Heroku, Supervisor e Sentry (Log das Exceptions)
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ - http://python-rq.org/
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● As notificações são processadas em lote (Até 10 edições por lote)
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● As notificações são processadas em lote (Até 10 edições por lote)
● Servidor isolado, rodando 8 workers para consumo das notificações
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● As notificações são processadas em lote (Até 10 edições por lote)
● Servidor isolado, rodando 8 workers para consumo das notificações
● Desenvolvido para suportar picos de 40 mil lotes/dia
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● Integrado ao Django
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● Integrado ao Django
● Comando para rodar o worker via manage.py
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● Integrado ao Django
● Comando para rodar o worker via manage.py
● Interface web para visualizar o andamento das tarefas
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
● Integrado ao Django
● Comando para rodar o worker via manage.py
● Interface web para visualizar o andamento das tarefas
● Usamos a biblioteca ZDaemon para “daemonizar” os workers
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
PythonRQ no CMS
IX ENCONTRO PYTHONRIO
DEFINIÇÃO DE PÚBLICO-ALVO
Obrigado!
IX ENCONTRO PYTHONRIO
facebook.com/vrcmarcos
github.com/vrcmarcos
linkedin.com/vrcmarcos
slideshare.net/vrcmarcos