Skip to main content

Componente asíncrono para sincpro_framework que permite ejecutar tareas asíncronas en un entorno mayoritariamente sincrónico

Project description

Sincpro Async Worker

Una solución simple para ejecutar tareas asíncronas desde código síncrono.

Propósito

Esta librería está diseñada para escenarios donde necesitas ejecutar operaciones asíncronas desde código síncrono, sin la complejidad de implementar una solución completa de colas de mensajes.

Casos de Uso Principales

  1. Ejecución de tareas asíncronas desde frameworks síncronos

    • Ejecutar operaciones I/O asíncronas desde frameworks web síncronos
    • Manejar operaciones de red sin bloquear el hilo principal
  2. Aislamiento de operaciones asíncronas

    • Ejecutar tareas asíncronas en un hilo separado
    • Mantener el código síncrono limpio y simple
  3. Despacho simple de tareas

    • Para escenarios donde una cola de mensajes sería excesivo
    • Tareas que no requieren persistencia o garantías de entrega

Cuándo NO usar esta librería

Esta librería NO está diseñada para:

  • Sistemas distribuidos
  • Tareas que requieren garantías de entrega
  • Escenarios que necesitan persistencia de mensajes
  • Sistemas que requieren alta disponibilidad

Para estos casos, considera usar soluciones más robustas como:

  • RabbitMQ
  • Apache Kafka
  • Celery

Instalación

pip install sincpro-async-worker

Uso Básico

from sincpro_async_worker import run_async_task

# Ejecutar tarea asíncrona
async def mi_tarea():
    await asyncio.sleep(1)
    return "hecho"

resultado = run_async_task(mi_tarea())

# Opcionalmente, puedes especificar un timeout
resultado = run_async_task(mi_tarea(), timeout=5.0)

Características

  • Ejecución en hilo separado: Las tareas se ejecutan en un hilo dedicado
  • Manejo de timeouts: Soporte para timeouts en la ejecución de tareas
  • Propagación de excepciones: Las excepciones se propagan correctamente al hilo principal
  • Limpieza automática: Los recursos se liberan automáticamente

Contribuciones

Las contribuciones son bienvenidas. Por favor, asegúrate de:

  1. Seguir las guías de estilo del proyecto
  2. Incluir tests para nuevas funcionalidades
  3. Actualizar la documentación según sea necesario

Licencia

SINCPRO S.R.L.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sincpro_async_worker-0.2.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sincpro_async_worker-0.2.2-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file sincpro_async_worker-0.2.2.tar.gz.

File metadata

  • Download URL: sincpro_async_worker-0.2.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for sincpro_async_worker-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2ee7b879ab40b12043e40f0c865037f4d0dbc3423a9bb441d47c453ba6360c79
MD5 224331257f49581218a3f97acf82da9c
BLAKE2b-256 eb24435fa7f3a87dbe845396259cfa780bff37cd3897fdec7be8c1d4b7a53ae6

See more details on using hashes here.

File details

Details for the file sincpro_async_worker-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: sincpro_async_worker-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for sincpro_async_worker-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 723fdfca0bad71ba08cb0a9fb6ddaae996a718e86249492e8592ef4fb00f5c12
MD5 184ecef931f05c0487272b915107c99b
BLAKE2b-256 2922d71e36367ee20113e1e69a6046b1dc9e9320c066670e7546483574ff1ddc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page