31
DEFINIÇÃO DE PÚBLICO-ALVO IX Encontro PythonRio Como a Globosat utiliza Python para distribuição de conteúdo Marcos Cardoso

Como a Globosat utiliza Python para distribuição de conteúdo

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Como a Globosat utiliza Python  para distribuição de conteúdo

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

[email protected]

slideshare.net/vrcmarcos

IX ENCONTRO PYTHONRIO

Page 3: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

A Globosat● 33 canais

IX ENCONTRO PYTHONRIO

Page 4: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

A Globosat● 33 canais

● Mais de 80 mil mídias

IX ENCONTRO PYTHONRIO

Page 5: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 6: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 7: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 8: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

Os formulários

● O IBMS

● O Sisleo

● O CMS

IX ENCONTRO PYTHONRIO

Page 9: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

O CMS

IX ENCONTRO PYTHONRIO

Page 10: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

Cenário● Possui um banco de dados próprio (MySQL/Percona)

IX ENCONTRO PYTHONRIO

Page 11: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 12: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 13: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 14: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

Solução

● Paralelizar o processamento

IX ENCONTRO PYTHONRIO

Page 15: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 16: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 17: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 18: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 19: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ - http://python-rq.org/

IX ENCONTRO PYTHONRIO

Page 20: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ - http://python-rq.org/

IX ENCONTRO PYTHONRIO

Page 21: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ - http://python-rq.org/

IX ENCONTRO PYTHONRIO

Page 22: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ - http://python-rq.org/

IX ENCONTRO PYTHONRIO

Page 23: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 24: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 25: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 26: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ no CMS

● Integrado ao Django

IX ENCONTRO PYTHONRIO

Page 27: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ no CMS

● Integrado ao Django

● Comando para rodar o worker via manage.py

IX ENCONTRO PYTHONRIO

Page 28: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 29: Como a Globosat utiliza Python  para distribuição de conteúdo

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

Page 30: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

PythonRQ no CMS

IX ENCONTRO PYTHONRIO

Page 31: Como a Globosat utiliza Python  para distribuição de conteúdo

DEFINIÇÃO DE PÚBLICO-ALVO

Obrigado!

IX ENCONTRO PYTHONRIO

facebook.com/vrcmarcos

github.com/vrcmarcos

linkedin.com/vrcmarcos

[email protected]

slideshare.net/vrcmarcos