GregaVrbancic/fastapi-celery
این پروژه یک نمونه سبک و کاربردی از ترکیب FastAPI و Celery است که برای مدیریت وظایف پسزمینه (background tasks) در برنامههای وب طراحی شده.
از RabbitMQ به عنوان صف وظایف، Redis به عنوان بکاند ذخیرهسازی نتایج و Flower برای نظارت بر وضعیت وظایف استفاده میکند.
کاربرد:
این ترکیب برای مواقعی مناسب است که نیاز به اجرای وظایف سنگین یا زمانبر (مثل ارسال ایمیل، پردازش تصویر، گزارشگیری) دارید، بدون اینکه کاربر باید منتظر بماند. ️
در چه شرایطی بهتره استفاده شود؟
وقتی میخواهید یک API سریع با FastAPI بسازید و همزمان وظایف پسزمینه را به صورت قابلاطمینان و قابلمقیاس اجرا کنید.
همچنین وقتی نیاز به نظارت زنده بر وظایف در حال اجرا دارید، Flower ابزار عالیای برای دیدن وضعیت صفها و کارگزاران (workers) است.
چند مثال از موارد استفاده:
- ارسال ایمیل یا پیام به کاربران پس از ثبتنام
- پردازش فایلهای بزرگ مانند ویدیو یا تصویر ️
- همگامسازی داده با سرویسهای خارجی (مثل CRM یا آنالیتیکس)
- ایجاد گزارشهای روزانه به صورت خودکار
- ##fastapi
- ##celery
- ##rabbitmq
- ##redis
- ##flower
- ##background
- ##python
- ##api
- ##task
- ##web
