Que horror !!! curso sin pies ni cabeza 🙄, toca aprender de la documentación http://www.celeryproject.org, espero mejoras en cursos posteriores =).
Bienvenida
Celery ¿Qué es, para qué sirve, cómo se usa?
Repositorio del proyecto
Arquitecturas de software basadas en mensajería y colas de tareas
Brokers de tareas: Servidores de mensajería y formas de usarlos
¿Cuándo debemos usar Celery?
Reto: Casos de uso de Celery
Bot de Slack
¿Cómo funciona un bot?
Cómo funciona el API de Slack para programación de bots (y parecidos y diferencias con otros APIs)
¿Cómo crear un bot reactivo?
Reto: posibles aplicaciones de bots de Slack, buscar ejemplos y entender cómo se llevarían a cabo
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
¿Qué es un broker de mensajería y cuándo debe usarse?
Conceptos: mecanismos de publicación/suscripción. Canales. Intercambiadores
Brokers de mensajería open source
Python con RabbitMQ uso básico de la terminal
Comparación de diferentes brokers de mensajería para trabajar con Celery
Reto: Crear una pequeña aplicación cliente-servidor que use RabbitMQ desde Python
Celery y brokers de mensajería
Creando un entorno de desarrollo para Celery
Instalación y creación de un programa básico pub/sub
Cómo usar Celery para programar un robot de Slack: diseño y comienzo de la implementación
Monitorización de tareas
Solucionando problemas
Reto: implementación y despliegue básico de un bot de Slack
Enrutado de tareas
Conceptos: enrutado de tareas y por qué se necesita
Enrutado manual
Mensajería en Celery: uso de Kombu
Enrutado automático
Reto: diseño de mecanismos de enrutado para un bot de Slack
Integración y despliegue en la nube
Estructura de mensajes en Celery y resultados de tareas
Tareas periódicas con Celery
Configuración de sistemas en la nube
Contenedores
Despliegue en un PaaS: Heroku
Uso de Celery con Node.js
Reto: despliegue en la nube (usando cuentas gratuitas)
Conclusiones
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
Conectar Slack con Celery para gestionar tareas puede parecer una misión formidable, ¡pero con los pasos correctos, se convierte en un viaje emocionante hacia la automatización! En este caso, vamos a integrar Slack para enviar datos que luego almacenaremos, permitiendo una interacción fluida y dinámica entre servicios. Prepárate para profundizar en el fascinante mundo de la tecnología mediante la implementación de un sistema eficiente de trabajo con Celery y Slack.
Celery es un administrador de tareas distribuidas que facilita la ejecución de tareas asíncronas en tu aplicación. Al combinarlo con Slack, podemos automatizar procesos de forma eficiente. En este proyecto, se desarrollan dos programas:
Para configurar Celery, primero definimos una aplicación y declaramos las tareas que se van a ejecutar. A través de un decorador @celery.task
, se registra cada tarea específica de nuestra aplicación, permitiendo que éstas sean procesadas eficientemente.
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
@app.task
def register_event(event):
# Lógica para manejar el evento
print(event) # Imprimir en logs
# Almacenar en base de datos
Este proyecto incorpora un cliente de Slack que actúa como intermediario. Configurado inicialmente como un bot, procesa comandos recibidos desde Slack y los envía a Celery para su gestión.
register_event
.from slack_sdk import WebClient
import celery_app as celery
client = WebClient(token='YOUR_SLACK_TOKEN')
def process_events(events):
for event in events:
# Procesa y envía eventos a Celery
celery.register_event.delay(event)
Después de preparar ambos programas, debes correr los procesos al mismo tiempo para garantizar que Celery y el cliente trabajen sincronizados.
Iniciar Celery: Ejecuta el trabajo del trabajador de Celery.
celery -A tasks worker --loglevel=info
Iniciar el Cliente Slack: Ejecuta el archivo del cliente que conectará con Slack.
python slack_client.py
Verificación en Slack: Realiza interacciones desde tu canal de Slack, como enviar mensajes o comandos, para observar en tiempo real cómo estos son procesados por Celery y reflejados en los logs o base de datos.
La integración de Slack con Celery potencia la capacidad de automatizar y gestionar tareas de manera más efectiva. La configuración de tareas asíncronas facilita el mantenimiento de sistemas escalables y reactivos. Este proyecto es tan solo el comienzo; se pueden implementar vehículos similares para otras aplicaciones y servicios. Sigue explorando y construyendo aplicaciones robustas con la magia de la automatización y la tecnología en su máxima expresión. ¡Adelante, el límite lo pones tú!
Aportes 8
Preguntas 1
Que horror !!! curso sin pies ni cabeza 🙄, toca aprender de la documentación http://www.celeryproject.org, espero mejoras en cursos posteriores =).
Prefiero los cursos de Leonidas. Este profesor lleva dándole vueltas a los mismos conceptos una y otra vez. Como se notan los vicios de la universidad a la hora de dar clases, un curso en linea NO debe ser igual a un curso presencial.
Bien difícil de seguir el curso…
Muy bueno el curso, los conceptos, quizas un poco más de orden, esta parte es fundamental, me ayudo mucho, pero a no quedarse solo con esta fuente, todo ayuda. Aca dejo un link con un ejemplo bastante simple. http://buhoprogramador.com/entrada/14/celery-django
El único curso que no me ha gustado de platzi, el profesor da muchas vueltas en un mismo tema, ha sido complicado seguir el curso
Por favor vuelvan a hacer este curso, realmente me gustaría aprender esto pero no tiene sentido el curso, es muy rebuscado, complejo y va de atrás a adelante constantemente.
entre a unas clases para reforzar alg de queues y veo comentarios de no pueden seguir si explica super bien :S
Para los que quieran ver un ejemplo en django (antes de pasarse al curso de django avanzado), les recomiendo que vean este enlace 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?