Bienvenida

1

Celery ¿Qué es, para qué sirve, cómo se usa?

2

Repositorio del proyecto

3

Arquitecturas de software basadas en mensajería y colas de tareas

4

Brokers de tareas: Servidores de mensajería y formas de usarlos

5

¿Cuándo debemos usar Celery?

6

Reto: Casos de uso de Celery

Bot de Slack

7

¿Cómo funciona un bot?

8

Cómo funciona el API de Slack para programación de bots (y parecidos y diferencias con otros APIs)

9

¿Cómo crear un bot reactivo?

10

Reto: posibles aplicaciones de bots de Slack, buscar ejemplos y entender cómo se llevarían a cabo

11

Reto: modificar el bot básico y crear alguno que responda a a algún tipo de petición o muestre algo

Brokers de mensajería

12

¿Qué es un broker de mensajería y cuándo debe usarse?

13

Conceptos: mecanismos de publicación/suscripción. Canales. Intercambiadores

14

Brokers de mensajería open source

15

Python con RabbitMQ uso básico de la terminal

16

Comparación de diferentes brokers de mensajería para trabajar con Celery

17

Reto: Crear una pequeña aplicación cliente-servidor que use RabbitMQ desde Python

Celery y brokers de mensajería

18

Creando un entorno de desarrollo para Celery

19

Instalación y creación de un programa básico pub/sub

20

Cómo usar Celery para programar un robot de Slack: diseño y comienzo de la implementación

21

Monitorización de tareas

22

Solucionando problemas

23

Reto: implementación y despliegue básico de un bot de Slack

Enrutado de tareas

24

Conceptos: enrutado de tareas y por qué se necesita

25

Enrutado manual

26

Mensajería en Celery: uso de Kombu

27

Enrutado automático

28

Reto: diseño de mecanismos de enrutado para un bot de Slack

Integración y despliegue en la nube

29

Estructura de mensajes en Celery y resultados de tareas

30

Tareas periódicas con Celery

31

Configuración de sistemas en la nube

32

Contenedores

33

Despliegue en un PaaS: Heroku

34

Uso de Celery con Node.js

35

Reto: despliegue en la nube (usando cuentas gratuitas)

Conclusiones

36

Despedida, conclusiones y a dónde ir desde aquí

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Celery 4

Curso de Celery 4

Juan Julián Merelo

Juan Julián Merelo

Python con RabbitMQ uso básico de la terminal

15/36
Recursos

Aportes 18

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Super inconforme con este curso, es el primer curso de platzi de los muchos que he tomado que no esta a la altura, espero que tenga una nueva version con mejor contenido, el profesor a cada rato dice que no es la forma correcta de hacerlo pero igual lo hace de esa manera, en que momento nos va a enseñar cual es la forma correcta?

Que curso tan malo

Este curso es demasiado anti platzi, que aburrido. Por favor renueven este curso con el profesor Pablo Trinidad

Respetando mucho las opiniones de mis compañeros, yo si pienso que el curso esta muy bueno. Por que como ingeniero backend a mi lo que me importa es entender la lógica de como funcionan las herramientas y cuales son las que mas me convienen según distintas situaciones, el código es lo de menos eso lo aprendo en stackoverflow o en la web pero el que sabe de verdad no es el que conoce la sintaxis, el programador de verdad sabe la lógica y tiene en su cabeza cual herramienta es la que mas le sirve para sus diferentes labores y eso es lo que nos esta brindando este maestro.

Me salta un poco que no use un linter y de pronto tenga lineas muy largas. Pep8 no lo dicta así.

Crear un host virtual en Rabbit
sudo rabbitmqctl add_vhost <nombre_vhost>

Crear un usuario en Rabbit para que use el vhost
sudo rabbitmqctl add_user <nombre de usuario> <password usuario>

Asignar permisos al usuario en el host virtual
sudo rabbitmqctl set_permissions -p <nombre vhost> <nombre de usuario> ".*" ".*" ".*"

Muy buenas las clases teoricas. Pero en la practicas super malo. Siento que estoy viendo clases en la universidad(con los profesores que no me gustan)

Estoy en total desacuerdo con la sugerencia de no usar pip freeze, ciertamente ese comando (pip freeze > requirements.txt) toma todas las dependencias que estés usando y las vuelca en el archivo, pero obviamente eso tiene que tener un precedente y es justo que estés trabajando bajo un entorno virtual, ya que si haces esto, SÓLO escribirá las dependencias que tengas DENTRO de ese entorno virtual y esto ayuda mucho, pues ya te identifica las versiones, no como (lamentablemente) lo ha estado explicando el profesor al no incluir las versiones, pues justo el tema de las versiones es lo que ayuda a reutilizar proyectos sin problemas (a no ser que uses docker). Es mi plena opinión personal basado en mi experiencia.

Creo que esto no estaba en nigun lado.

Instalacion de Rabbit:
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add - sudo apt-get install apt-transport-https sudo apt-key adv --keyserver "hkps://keys.openpgp.org" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA" sudo apt-get update sudo apt-get install rabbitmq-server

RabbitMQ es el broker por defecto de Celery por lo que no requiere ninguna configuración inicial, solamente definir el URL de la instancia del broker.

Pika es una librería de Python para interactuar con RabbitMQ. En términos simples lo único que hace es mandar y recibir mensajes de una cola.

Supongo que la finalidad de estas clases es entender RabbitMQ por si solo usando pika para poder trabajar en Python, para posteriormente ver con más facilidad las funcionalidades que agrega Celery.

Sin embargo, les recomiendo mejor seguir los tutoriales de la documentación oficial, sobre todo porque se actualizan si hay grandes cambios en la implementación.
https://www.rabbitmq.com/tutorials/tutorial-one-python.html

Como puedo aprender a hacerlo desde un fichero?

un curso muy útil, no creo conveniente que lo retiren del catalogo al menos hasta que lo renueven.

Disiciento con que no es conveniente usar virtualenv… es muy útil.

Con respecto a que puede molestar en github, basta con tener bien manejado el archivo .gitignore

cola de mensajes

canal

enlace

Redis se menciona mas adelante