DEV Community

Cover image for River: Tu Cola de Trabajos Go, Simple y Eficiente
Lucatonny Raudales
Lucatonny Raudales

Posted on

2 2 1

River: Tu Cola de Trabajos Go, Simple y Eficiente

¿Qué es River?

River es una herramienta poderosa y fácil de usar diseñada para gestionar colas de trabajo en aplicaciones Go. Imagina que tienes una tarea que tarda mucho tiempo en completarse, como enviar correos electrónicos a miles de usuarios o procesar imágenes de gran tamaño. En lugar de bloquear tu aplicación principal, puedes enviar estas tareas a una cola y dejar que River se encargue de ejecutarlas en segundo plano.

¿Por qué usar River?

  1. Simplicidad: River te permite crear y gestionar colas de trabajo con pocas líneas de código.
  2. Fiabilidad: Tus trabajos siempre se ejecutarán, incluso si tu aplicación se reinicia.
  3. Escalabilidad: River puede manejar cargas de trabajo variables y crecer junto con tu aplicación.
  4. Flexibilidad: Puedes personalizar el comportamiento de River para adaptarlo a tus necesidades específicas.

¿Qué puedes hacer con River?

  • Procesar tareas asíncronas
  • Enviar correos electrónicos
  • Procesar imágenes
  • Transcodificar video
  • Importación de datos
  • Y mucho más

Instalación y Uso

  1. Instalación:
    go get github.com/riverqueue/river

  2. Crear una cola:

package main

import (
    "github.com/riverqueue/river"
)

func main() {
    queue := river.NewQueue("my-queue", "postgres://user:password@host:port/database")
}

Enter fullscreen mode Exit fullscreen mode
  1. Encolar un trabajo:
type MyJob struct {
    Data string
}

queue.Enqueue(&MyJob{Data: "Hello, world!"})

Enter fullscreen mode Exit fullscreen mode
  1. Ejecutar los trabajos:
queue.Run()
Enter fullscreen mode Exit fullscreen mode

Conclusiones
River es una excelente opción para desarrolladores Go que buscan una solución simple y eficiente para gestionar colas de trabajo. Sus características y facilidad de uso lo convierten en una herramienta indispensable para cualquier proyecto que requiera procesamiento de tareas en segundo plano.

Lucatonny Raudales

X/Twitter
Github

go #river #queue #opensource

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more