# معرفی سلری در پایتون
Celery یک کتابخانه پایتون منبع باز است که برای اجرای وظایف به صورت ناهمزمان استفاده می شود. سلری یک صف وظیفه است که تسکها را در خود نگه داری کرده و آنها را به شیوه ای مناسب بین کارگران توزیع می کند. در درجه اول بر روی عملیات بلادرنگ متمرکز است، اما از زمان بندی نیز پشتیبانی می کند. سلری بهرهوری کاربر نهایی را به طرز شگفت انگیزی افزایش می دهد. Celery از کارگزاران پیام های مختلفی مانند RabbitMQ و Redis پشتیبانی می کند. Celery با استفاده از زبان python نوشته شده است اما امکان استفاده در دیگر زبان ها وجود دارد.
# چرا باید از سلری استفاده کنیم؟
معمولا زمانی که کاربر درخواستی را به سرور ارسال میکند انتظار پاسخ همزمان را دارد. اما اگر درخواست کاربر نیاز به پردازش سنگینی داشته باشد، امکان پاسخ همزمان مطلوب به کاربر وجود نخواهد داشت. همچنین در صورت افزایش بار کاری سرور ممکن است زمان پاسخ به کاربر طولانی شده و امکان ارسال درخواست های بعدی از کاربر سلب شود. به همین دلیل درخواست های زمانبر را با استفاده از brokerهایی مثل RabbitMq در یک صف ذخیره کرده و به نوبت پردازش شده و پاسخ مطلوب به کاربر ارسال میشود. Celery یک واسط بین کاربر و broker است که وظیفه صف بندی درخواست ها به ساده ترین شکل ممکن را دارند.
- استفاده و نگهداری از سلری آسان است و نیازی به فایل های پیکربندی ندارد.
- در صورت قطع یا شکست اتصال، کارگران و کلاینتها بهطور خودکار دوباره برای اجرای وظایف خود تلاش میکنند.
- یک پراسس Celery میتواند میلیونها کار را در دقیقه با تأخیر رفت و برگشت زیر میلیثانیه پردازش کند.
- تقریباً هر قسمت از Celery را می توان به تنهایی گسترش داد یا از آن استفاده کرد، مانند سریالایزرها، ورود به سیستم، زمان بندی ها، مصرف کنندگان، تولید کنندگان و موارد دیگر.
# پیش نیازهای دوره
از آنجایی که ابزار سلری با پایتون نوشته شده است، داشتن دانش اولیه از پایتون مورد نیاز است. در صورت آشنایی نداشتن با پایتون میتوانید دوره آموزش رایگان پایتون را تماشا کنید. همچنین سلری برای کارکردن و ذخیره درخواست ها نیاز به یک broker دارد. در این دوره ما از RabbitMq به عنوان broker استفاده خواهیم کرد. قبل از شروع این دوره حتما باید با یک broker آشنا باشید. درصورتی که با هیچ بروکری آشنایی ندارید، میتوانید دوره آموزش rabbitmq را مشاهده کنید.
مطالب این دوره به شکل کامل آپدیت شده است.