Skip to main content

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.

Metadata

Release files for sincpro-async-worker 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sincpro-async-worker 0.3.0
File Size Uploaded
sincpro_async_worker-0.3.0.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sincpro-async-worker 0.3.0
File Interpreter ABI Platform
sincpro_async_worker-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.0 kB

Release files / sincpro_async_worker-0.3.0.tar.gz

Download URL sincpro_async_worker-0.3.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2ee22656e578a30b3d871f9394399bf833b3db948f286e9157fbc2cfba14cad7
BLAKE2b-256 checksum
How to use checksums
f0454d0ea8266c18069a220a1f1311424e5aa8b566b48b5d7df25e812c0ac800
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

Release files / sincpro_async_worker-0.3.0-py3-none-any.whl

Download URL sincpro_async_worker-0.3.0-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ba8f0ab4fdf63ef51a269418aacaed9b68d14cad14b62b43441ae45edce1696
BLAKE2b-256 checksum
How to use checksums
66d4e148e5c4aa7ee0ad30da81499424b2aa4a6c76c5b8c7b432838095d3b9a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page