وب‌سرویس مجید

پروژه fastapi-celery

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