Metadata-Version: 2.1
Name: celery-pool-asyncio
Version: 0.1.9
Summary: Celery pool to run coroutine tasks
Home-page: https://github.com/kai3341/celery-pool-asyncio
License: Apache Software License 2.0
Keywords: celery_pool_asyncio
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: asgiref
Requires-Dist: celery

Celery Pool AsyncIO
===============

![Logo](https://repository-images.githubusercontent.com/198568368/35298e00-c1e8-11e9-8bcf-76c57ee28db8)

* Free software: Apache Software License 2.0

Features
--------


```
import asyncio
from celery import Celery

app = Celery()


@app.task(
    bind=True,
    soft_time_limit=None,  # temporary unimplemented. You can help me
    time_limit=300,  # raises futures.TimeoutError on timeout
)
async def my_task(self, *args, **kwargs):
    await asyncio.sleep(5)


@app.task
async def my_simple_task(*args, **kwargs):
    await asyncio.sleep(5)
```

Then run celery:

```
$ celery worker -A hello_async_celery.app -P celery_pool_asyncio:TaskPool
```



# Changelog

## [0.1.9]
- Large rework of `await AsyncResult.get()`
    - Works much better than earlier, but it's crap still
    - Added outnumber of monkey-patches
- Fixed race condition on first microseconds of pool shutdown

## [0.1.8]
- Cleanup tracer, use celery.app.trace namespase where it possible

## [0.1.7]
- Refactor monkey, split it
- Move patch_send_task to own function
- Add patch_result_get to await AsyncResult.get

## [0.1.6]
- Avoid building trace twice
- Also this small performance optimization fixed AsyncResult.get

## [0.1.5]
- Fix graceful shutdown

## [0.1.4]
- Fix monkey: another function must be patched

## [0.1.3]
- Add changelog
- Append documentation

## [0.1.2]
- Add monkey patcher to make brocker IO operations nonblocking

## [0.1.1]
- Refactor code
- Fix found errors

## [0.1.0]
- Initial commit


