Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tarefas assíncronas com django e celery
Search
Allisson Azevedo
June 11, 2013
Programming
1
23k
Tarefas assíncronas com django e celery
Slides da palestra no mutirão python:
https://plus.google.com/events/c4a18aljra59dqf56t1lac89o4k
Allisson Azevedo
June 11, 2013
Tweet
Share
More Decks by Allisson Azevedo
See All by Allisson Azevedo
Programação Assíncrona com Asyncio
allisson
0
63
Crawleando sites com NodeJS
allisson
0
140
Introdução a linguagem Go
allisson
0
230
Docker + Django
allisson
5
540
Construindo um micro framework web em Python
allisson
0
200
Consumindo API's OAuth{1,2} com Python
allisson
1
140
Deploy completo de uma aplicação Django
allisson
6
390
Desenvolvimento Web com Django
allisson
0
130
Otimizando sites com o nosql redis
allisson
4
130
Other Decks in Programming
See All in Programming
Swiftの型推論を学ぼう | Let's Learn About Type Inference in Swift
omochi
2
510
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
memory1994
PRO
1
490
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
150
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
1.1k
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
Data Contracts In Practice With Debezium and Apache Flink (Kafka Summit London)
gunnarmorling
2
270
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.7k
document.write再考
brn
5
2.5k
The Future of C++ Interoperability: Insights from Porting a Game to Swift
teamhimeh
0
260
Creating Retro-Style Photos Using Swift
ski
1
340
Building a Smaller App Binary
kateinoigakukun
2
200
Featured
See All Featured
It's Worth the Effort
3n
180
27k
Git: the NoSQL Database
bkeepers
PRO
421
63k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
How STYLIGHT went responsive
nonsquared
92
4.7k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
KATA
mclloyd
14
11k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
Being A Developer After 40
akosma
56
580k
Infographics Made Easy
chrislema
237
18k
Faster Mobile Websites
deanohume
296
30k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
Transcript
TAREFAS ASSÍNCRONAS COM DJANGO E CELERY Allisson Azevedo Monday, June
10, 13
ALLISSON AZEVEDO Graduado em Licenciatura em Computação Desenvolvedor Web http://speakerdeck.com/allisson
http://slideshare.net/allisson http://github.com/allisson http://youtube.com/user/allissonazevedo Monday, June 10, 13
Monday, June 10, 13
Monday, June 10, 13
PORQUE EU PRECISO DE UM TASK/JOB QUEUE? Necessidade de processar
uma tarefa fora do ciclo de requisição e reposta Processamento de vídeo/imagens Envio de e-mails Geração de relatórios complexos Comunicação com API’s externas (twitter, facebook) Monday, June 10, 13
PORQUE EU PRECISO DE UM TASK/JOB QUEUE? Agendar tarefas (substituir
o cron) Trabalhar com indexação de um search engine Monday, June 10, 13
COMO FUNCIONA? Client Quem gera a tarefa Message Broker Gerencia
a fila de tarefas Worker Recebe as tarefas do Broker e executa as mesmas Monday, June 10, 13
COMO FUNCIONA? Result Store Onde são guardados os resultados das
tarefas Monday, June 10, 13
CELERY “Distributed Task Queue” Escrito em python Integração com os
principais frameworks python (django, pyramid, flask, web2py, tornado) Broker Backends (rabbitmq, redis, sqlalchemy, django, mongodb) Result Store Backends (Redis, memcached, MongoDB) Monday, June 10, 13
QUAL BROKER USAR? RabbitMQ (http://stackoverflow.com/a/9176046) Redis Não use o broker
como result store Monday, June 10, 13
INTEGRANDO COM O DJANGO pip install django-celery Adicione o djcelery
no INSTALLED_APPS Adicione as linhas no settings.py import djcelery djcelery.setup_loader() Monday, June 10, 13
INTEGRANDO COM O DJANGO Selecione o broker BROKER_URL = 'redis://localhost:6379/0'
#Redis Inicie o worker python manage.py celery worker --loglevel=info Monday, June 10, 13
INTEGRANDO COM O DJANGO Em seus projetos, crie um arquivo
chamado tasks.py Monday, June 10, 13
INTEGRANDO COM O DJANGO from celery import task @task() def
add(x, y): return x + y Monday, June 10, 13
INTEGRANDO COM O DJANGO Rode a task Monday, June 10,
13
INTEGRANDO COM O DJANGO >>> from celerytest.tasks import add >>>
add.delay(2, 2) >>> add.apply_async((2, 2)) Monday, June 10, 13
MÃO NA MASSA! https://github.com/allisson/django-social-monitor- example Monday, June 10, 13
Monday, June 10, 13
OBRIGADO! Monday, June 10, 13