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
64
Crawleando sites com NodeJS
allisson
0
140
Introdução a linguagem Go
allisson
0
240
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
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
ゆるい個人開発のススメ
kuroppe1819
10
980
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
170
Designing for tomorrow's programming workflows
honnibal
PRO
2
120
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
코틀린으로 멀티플랫폼 만들기
pangmoo
0
150
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
260
Site Reliability Engineering for GMO
pyama86
7
1k
Hanami and htmx
bkuhlmann
0
200
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Front-end application development, Symfony-style(s)
dunglas
2
2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
331
56k
Producing Creativity
orderedlist
PRO
337
39k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
How GitHub (no longer) Works
holman
304
140k
Raft: Consensus for Rubyists
vanstee
132
6.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
120
39k
Designing for Performance
lara
601
67k
Embracing the Ebb and Flow
colly
80
4.1k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
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