Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Executando Tarefas assíncronas no Django usando...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Executando Tarefas assíncronas no Django usando Celery

Avatar for Werberth Vinícius

Werberth Vinícius

October 21, 2018

Other Decks in Programming

Transcript

  1. Coe Rapazia! Betim - 19 anos - Parnaíba - Piauí

    - Desenvolvedor Web - Estudante do 6º Periodo de Ciências da Computação na UESPI 2
  2. Celery is an asynchronous task queue/job queue based on distributed

    message passing. It is focused on real-time operation, but supports scheduling as well. 3
  3. - Diminuir a resposta de uma requisição. - Devolver uma

    informação pro usuário. - informá-lo quando o processo terminar.
  4. 9 User (ou Client ou Producer) : é a sua

    aplicação Django. AMPQ Broker: é um Message Broker. Um programa responsável por manter a fila de mensagens que serão trocadas entre o seu programa e o Celery, geralmente é o RabbitMQ ou o Redis Os workers (ou consumers): são que vão executar as tarefas que você quer que sejam assíncronas. O Result Store: são onde os workers podem ou não salvar os resultados das tarefas que foram executadas.
  5. vs

  6. O redis é um banco de dados “in-memory”, que tem

    suporte para varios tipos de dados como strings, listas, maps, sets, sorted sets, hyperlogs, bitmaps entre outros. Ele é rapido e leve, e apesar de não ser um message broker, fornece funcionalidades básicas para funcionar como um. 11
  7. O Reddis é um message broker, ele é muito mais

    versátil que o Redis e fornece muito mais funcionalidades. 12
  8. Em resumo... O Redis é ideal para implementar filas de

    mensagens simples e diretas, mas para aplicativos enormes e escalonáveis com mensagens enormes. RabbitMQ é o melhor caminho. 14
  9. 15