Celery es una biblioteca en Python para gestionar colas de tareas distribuidas. Es software libre y está liberado con una licencia BSD. Cuenta con con más de diez mil commits en este momento en Github.
No es la única. Tiene ciertos equivalentes en otros lenguajes, pero no hay ninguna que sea igual
Ventajas
Escabilidad
Eficiencia
Orden de transacciones garantizado
Resistencia a fallos
Aguantar picos de mensajes
Sirve para
Dividir el Backed de una aplicación en receptor y realizadores de tareas
Uniformizar la respuestas del backend
Crear arquitecturas de microservicios
Obtén respuestas inmediatas¿Dudas?Profundiza lo que acabas de ver
Celery es una gran biblioteca, sin embargo, en mi experiencia, hay casos en los que perjudica más de lo que ayuda, si bien empresas grandes lo ocupan porque tienen los recursos, a veces hay proyectos pequeños que intentan usarlo y terminan por consumir muchos de los recursos del servidor. Hay que usarla con cuidado si de un proyecto pequeño se trata.
Interesante observación @imbrianstorm.
¿Tuviste oportunidad de usar Celery en alguno de tus proyectos?
¿Qué recursos son los que más pudiera consumir Celery?
Siempre depende de lo que quieras hacer. Celery es una biblioteca compleja, pero por eso precisamente a un plazo medio o largo siempre va a beneficiar a la empresa. Evidentemente, por el cambio de concepto respecto a una arquitectura monolítica puede que al principio el diseño y la implantación tarden algo de tiempo.
¿Hay alguna razón por la que no aparece este cursp en el buscador de platzi?
Los cursos que aparecen así, es porque están desactualizados. De todas formas déjame consultar sobre este curso en específico. :)
Es un librería para encolar tareas, un uso muy común es por ejemplo cuando tienes que hacer procesos largos luego de una acción del usuario, entonces mandas esos procesos a la cola de tareas y no detienes a tu usuario esperando a que todo el bloque de tareas se termine.
Vengo al curso por que usan celery en la empresa en donde trabajo :o
Celery me serviria en el caso de querer hacer procesamiento de datos ? mientra una aplicación web esta corriendo.
Que se puede hacer con Celery que no se puede hacer con Django?
Se puede usar Celery y Django? y si es así, que ventajas tiene usar ambos en un proyecto?
Celery esta diseñado para gestionar las tareas, se puede implementar con Django.
Con lo que llevo aprendiendo. Ambos se pueden trabajar juntos. Django y Celery. Yo he usado Celery para tareas asíncronas. Por ejemplo. En un sistema que trabajé se necesitaba subir una importación de un archivo que era muy pesado. Usando solo dijango la petición moría a los 15 segs. Así que con Celery podía subir ese archivo pesado, además de ello no bloqueaba el trabajo del usuario.
Estoy iniciando mi aprendizaje con la programación backend con javascript, Esta librería la puedo usar?
En las clases finales de este curso el profesor nos habla de las posibilidades de usar Celery con otros lenguajes, incluido Node.JS
node-celery funciona perfectamente, tanto para repartir como para ejecutar tareas. https://github.com/mher/node-celery
Sin embargo, en un entorno de microservicios distribuidos puedes usar diferentes lenguajes, siempre el más adecuado para cada cosa. Te animo a que eches un vistazo a Python; aunque fuera solo por este framework, merece la pena.
Super emocionado!!! Este es el último curso para terminar la carrera de backend con Django y Python!
asd
<!DOCTYPE html><html><head><title>Tu peso en distintos planetas</title><styletype="text/css"> body
{ background-color:rgb(218,104,59); font-family:Georgia; font-size: large;color: black;}</style></head><body><h2>Tu peso puede cambiar en otros planetas!!!🤪</h2><p>En la tierra pesas distinto que en Marte, para ello con <strong> tu peso en la Tierra</strong> podemos descrifrar dichos pesos </p><scripttype="text/javascript">var g_mercurio =3.7;var g_venus =8.87;var g_tierra =9.8;var g_marte =3.7;var g_jupiter =24.8;var g_saturno =10.44;var g_urano =8.7;var g_neptuno =11.15;var g_pluton =0.62;var peso_tierra =prompt("Escribe tu peso en la tierra: ")var peso_mercurio =parseInt(peso_tierra*g_mercurio/g_tierra);var peso_marte =parseInt(peso_tierra*g_marte/g_tierra);var peso_venus =parseInt(peso_tierra*g_venus/g_tierra);var peso_jupiter =parseInt(peso_tierra*g_jupiter/g_tierra);var peso_saturno =parseInt(peso_tierra*g_saturno/g_tierra);var peso_urano =parseInt(peso_tierra*g_urano/g_tierra);var peso_neptuno =parseInt(peso_tierra*g_neptuno/g_tierra);var peso_pluton =parseInt(peso_tierra*g_pluton/g_tierra);document.write("Tu peso en Mercurio es de aproximadamente: "+ peso_mercurio +", ");document.write("Tu peso en Venus es de aproximadamente: "+ peso_venus +", ");document.write("Tu peso en Marte es de aproximadamente: "+ peso_marte +", ");document.write("Tu peso en jupiter es de aproximadamente: "+ peso_jupiter +", ");document.write("Tu peso en Saturno es de aproximadamente: "+ peso_saturno +", ");document.write("Tu peso en Urano es de aproximadamente: "+ peso_urano +", ");document.write("Tu peso en Neptuno es de aproximadamente: "+ peso_neptuno +", ");document.write("Tu peso en pluton es de aproximadamente: "+ peso_pluton +", ");</script></body></html>
Celery es sobre todo necesario cuando quieres procesar tareas que tarden mucho, que no sea necesario responder inmediatemente y en un proyeco que probablemente necesites escalar.
Es fundamental para poder trabajar de manera asicronica.
Perfecto, siempre quise aprender a utilizarla.
Lo que me estaba perdiendo de python! qué buen curso.
spring cloud para spring boot permite gestionar rabbitMQ o los demas MQ ademas tiene spring gateway como receptor de tareas y administrador de microservicios con Zuul como gateway Spring Oauth para JWT auth etc etc registry , balanceador de carga etc etc en resume todo lo que son micro servicios.