Your SlideShare is downloading. ×
TAREFAS ASSÍNCRONAS COMDJANGO E CELERYAllisson AzevedoMonday, June 10, 13
ALLISSON AZEVEDOGraduado em Licenciatura em ComputaçãoDesenvolvedor Webhttp://speakerdeck.com/allissonhttp://slideshare.ne...
Monday, June 10, 13
Monday, June 10, 13
PORQUE EU PRECISO DE UMTASK/JOB QUEUE?Necessidade de processar uma tarefa fora do ciclo derequisição e repostaProcessament...
PORQUE EU PRECISO DE UMTASK/JOB QUEUE?Agendar tarefas (substituir o cron)Trabalhar com indexação de um search engineMonday...
COMO FUNCIONA?ClientQuem gera a tarefaMessage BrokerGerencia a fila de tarefasWorkerRecebe as tarefas do Broker e executa a...
COMO FUNCIONA?Result StoreOnde são guardados os resultados das tarefasMonday, June 10, 13
CELERY“Distributed Task Queue”Escrito em pythonIntegração com os principais frameworks python(django, pyramid, flask, web2p...
QUAL BROKER USAR?RabbitMQ (http://stackoverflow.com/a/9176046)RedisNão use o broker como result storeMonday, June 10, 13
INTEGRANDO COM ODJANGOpip install django-celeryAdicione o djcelery no INSTALLED_APPSAdicione as linhas no settings.pyimpor...
INTEGRANDO COM ODJANGOSelecione o brokerBROKER_URL = redis://localhost:6379/0 #RedisInicie o workerpython manage.py celery...
INTEGRANDO COM ODJANGOEm seus projetos, crie um arquivo chamado tasks.pyMonday, June 10, 13
INTEGRANDO COM ODJANGOfrom celery import task@task()def add(x, y):return x + yMonday, June 10, 13
INTEGRANDO COM ODJANGORode a taskMonday, June 10, 13
INTEGRANDO COM ODJANGO>>> 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-exampleMonday, June 10, 13
Monday, June 10, 13
OBRIGADO!Monday, June 10, 13
Upcoming SlideShare
Loading in...5
×

Tarefas Assíncronas com Django e Celery

1,931

Published on

Slides do evento: https://plus.google.com/events/c4a18aljra59dqf56t1lac89o4k

Published in: Technology, Self Improvement
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,931
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Tarefas Assíncronas com Django e Celery"

  1. 1. TAREFAS ASSÍNCRONAS COMDJANGO E CELERYAllisson AzevedoMonday, June 10, 13
  2. 2. ALLISSON AZEVEDOGraduado em Licenciatura em ComputaçãoDesenvolvedor Webhttp://speakerdeck.com/allissonhttp://slideshare.net/allissonhttp://github.com/allissonhttp://youtube.com/user/allissonazevedoMonday, June 10, 13
  3. 3. Monday, June 10, 13
  4. 4. Monday, June 10, 13
  5. 5. PORQUE EU PRECISO DE UMTASK/JOB QUEUE?Necessidade de processar uma tarefa fora do ciclo derequisição e repostaProcessamento de vídeo/imagensEnvio de e-mailsGeração de relatórios complexosComunicação com API’s externas (twitter, facebook)Monday, June 10, 13
  6. 6. PORQUE EU PRECISO DE UMTASK/JOB QUEUE?Agendar tarefas (substituir o cron)Trabalhar com indexação de um search engineMonday, June 10, 13
  7. 7. COMO FUNCIONA?ClientQuem gera a tarefaMessage BrokerGerencia a fila de tarefasWorkerRecebe as tarefas do Broker e executa as mesmasMonday, June 10, 13
  8. 8. COMO FUNCIONA?Result StoreOnde são guardados os resultados das tarefasMonday, June 10, 13
  9. 9. CELERY“Distributed Task Queue”Escrito em pythonIntegraçã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
  10. 10. QUAL BROKER USAR?RabbitMQ (http://stackoverflow.com/a/9176046)RedisNão use o broker como result storeMonday, June 10, 13
  11. 11. INTEGRANDO COM ODJANGOpip install django-celeryAdicione o djcelery no INSTALLED_APPSAdicione as linhas no settings.pyimport djcelerydjcelery.setup_loader()Monday, June 10, 13
  12. 12. INTEGRANDO COM ODJANGOSelecione o brokerBROKER_URL = redis://localhost:6379/0 #RedisInicie o workerpython manage.py celery worker --loglevel=infoMonday, June 10, 13
  13. 13. INTEGRANDO COM ODJANGOEm seus projetos, crie um arquivo chamado tasks.pyMonday, June 10, 13
  14. 14. INTEGRANDO COM ODJANGOfrom celery import task@task()def add(x, y):return x + yMonday, June 10, 13
  15. 15. INTEGRANDO COM ODJANGORode a taskMonday, June 10, 13
  16. 16. INTEGRANDO COM ODJANGO>>> from celerytest.tasks import add>>> add.delay(2, 2)>>> add.apply_async((2, 2))Monday, June 10, 13
  17. 17. MÃO NA MASSA!https://github.com/allisson/django-social-monitor-exampleMonday, June 10, 13
  18. 18. Monday, June 10, 13
  19. 19. OBRIGADO!Monday, June 10, 13

×