Asynchronous Tasks with FastAPI and Celery
testdriven.io
Asynchronous Tasks with FastAPI and Celery
1–10 of 11 posts
Re: Asynchronous Tasks with FastAPI and Celery
#2https://github.com/samuelcolvin/arq
I find celery's api kinda painful.
Re: Asynchronous Tasks with FastAPI and Celery
#3Re: Asynchronous Tasks with FastAPI and Celery
#4I heartily recommend: https://dramatiq.io/motivation.html - "if you’ve ever had to use Celery in anger, Dramatiq could be the tool for you".
Re: Asynchronous Tasks with FastAPI and Celery
#5Meesee is an elegantly simple worker system (written in python) using redis as a backend, and it works really well if you don't need all those extra features that stuff like Celery give you.
You just need a redis instance and then you're good to go :)
Re: Asynchronous Tasks with FastAPI and Celery
#6Personally I prefer meesee[1], because setting up Celery or other big worker systems is always a lot of work, and they have more components than I usually need. Meesee is an elegantly simple worker system (written in python) using redis as a backend, and it works really well if you don't need all those extra features that stuff like Celery give you. You just need a redis instance and then you're good to go :) 1: http…
Re: Asynchronous Tasks with FastAPI and Celery
#7Personally I prefer meesee[1], because setting up Celery or other big worker systems is always a lot of work, and they have more components than I usually need. Meesee is an elegantly simple worker system (written in python) using redis as a backend, and it works really well if you don't need all those extra features that stuff like Celery give you. You just need a redis instance and then you're good to go :) 1: http…
Sounds very similar to RQ. Do you have opinions on the latter and/or their differences?
The main difference I see is that meesee workers are always setup as python programs, whereas RQ workers are separate programs. (calling a `rq` program insead of `python3 my_worker.py`) Though looking at the docs tells me that RQ can do the latter as well.
Re: Asynchronous Tasks with FastAPI and Celery
#8Isn't this basically the core of airflow?
I have no financial interest in Prefect, but I have used Airflow and their criticisms ring true.
Re: Asynchronous Tasks with FastAPI and Celery
#9I have found Celery to be a major pain. It's very complicated (Are your Celery tasks guaranteed at-most-once or at-least-once delivery? Are you sure?). There are bugs with the Redis broker that cause it to drop tasks: https://github.com/celery/kombu/issues/305 I heartily recommend: https://dramatiq.io/motivation.html - "if you’ve ever had to use Celery in anger, Dramatiq could be the tool for you".
Re: Asynchronous Tasks with FastAPI and Celery
#10I have found Celery to be a major pain. It's very complicated (Are your Celery tasks guaranteed at-most-once or at-least-once delivery? Are you sure?). There are bugs with the Redis broker that cause it to drop tasks: https://github.com/celery/kombu/issues/305 I heartily recommend: https://dramatiq.io/motivation.html - "if you’ve ever had to use Celery in anger, Dramatiq could be the tool for you".
I love Dramatiq but I don’t get your point about task completion. You have to choose between at most and at least once.
This is why I created yet another task framework based on redis with robustness as a the main goal: https://github.com/NicolasLM/spinach