@@ -18,8 +18,22 @@ replaceable parts, such as brokers, result backends, and middlewares.
18
18
## Why not use existing libraries?
19
19
20
20
We 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.
24
22
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