@@ -18,8 +18,22 @@ replaceable parts, such as brokers, result backends, and middlewares.
1818## Why not use existing libraries?
1919
2020We couldn't find a solution like Celery or Dramatiq that can run async code and send tasks asynchronously.
21- It was the main reason we created this project. It's still in the early stages of development,
22- so it's not a production-ready solution yet. We use it at work, but still, you may encounter bugs.
23- If your project requires mature solutions, please use Dramatiq or Celery instead.
21+ It was the main reason we created this project.
2422
25- Also, this project is not for you if you have a fully synchronous project.
23+ You might have seen projects built on top of asyncio that solve similar problem, but here's a comparasion table of taskiq and other projects.
24+
25+ | Feature name | Taskiq | Arq | AioTasks |
26+ | --------------------------: | :----: | :---: | :------: |
27+ | Actively maintained | ✅ | ✅ | ❌ |
28+ | Multiple broker backends | ✅ | ❌ | ✅ |
29+ | Multiple result backends | ✅ | ❌ | ❌ |
30+ | Have a rich documentation | ✅ | ❌ | ❌ |
31+ | Startup & Shutdown events | ✅ | ✅ | ❌ |
32+ | Have ability to abort tasks | ❌ | ✅ | ❌ |
33+ | Custom serializers | ✅ | ✅ | ❌ |
34+ | Dependency injection | ✅ | ❌ | ❌ |
35+ | Task pipelines | ✅ | ✅ | ❌ |
36+ | Task schedules | ✅ | ✅ | ❌ |
37+ | Global middlewares | ✅ | ❌ | ❌ |
38+
39+ If you have a fully synchronous project, consider using celery or dramatiq instead.
0 commit comments