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
73
Crawleando sites com NodeJS
allisson
0
140
Introdução a linguagem Go
allisson
0
280
Docker + Django
allisson
5
550
Construindo um micro framework web em Python
allisson
0
210
Consumindo API's OAuth{1,2} com Python
allisson
1
150
Deploy completo de uma aplicação Django
allisson
6
420
Desenvolvimento Web com Django
allisson
0
130
Otimizando sites com o nosql redis
allisson
4
130
Other Decks in Programming
See All in Programming
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
【Go言語】golangci-lintの使い方
tomo1227
0
280
Namespace on read
tagomoris
2
370
Temporalを取り巻く仕様を整理する
sajikix
0
110
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
How to use Macrobenchmark
veronikapj
0
160
Jetpack for KMP
fornewid
1
290
Terraformテスト入門
msato
0
540
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
139
22k
Fireside Chat
paigeccino
25
2.8k
Code Review Best Practice
trishagee
58
16k
Scaling GitHub
holman
458
140k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
The World Runs on Bad Software
bkeepers
PRO
63
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
RailsConf 2023
tenderlove
16
720
Become a Pro
speakerdeck
PRO
15
4.8k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Teambox: Starting and Learning
jrom
130
8.6k
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