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
-
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
-
Aislamiento de operaciones asíncronas
- Ejecutar tareas asíncronas en un hilo separado
- Mantener el código síncrono limpio y simple
-
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:
- Seguir las guías de estilo del proyecto
- Incluir tests para nuevas funcionalidades
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| sincpro_async_worker-0.3.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|