سلری (نرم‌افزار)

سلری (انگلیسی: Celery) (به معنی کرفس) یک صف وظیفه ناهمگام (انگلیسی: asynchronous task queue) منبع باز است که برپایه تبادل پیغام توزیع شده (انگلیسی: distributed message passing) بنا شده‌است. به رغم اینکه تمرکز سلری روی "''عمل به صورت بلادرنگ" (انگلیسی: Real-time) است، از زمانبندی (انگلیسی: scheduling) نیز پشتیبانی می‌کند.

 بررسی اجمالی 
واحدهای اجرایی که وظیفه (انگلیسی: Task) خوانده می‌شوند به صورت همزمان روی یک یا چند گره کارگر (انگلیسی: worker node) با بهره‌گیری از چندپردازشی (انگلیسی: multiprocessing)، eventlet یا gevent اجرا می‌شوند. وظایف می‌تواند به صورت ناهمگام (انگلیسی: asynchronous) (در پس زمینه) یا همگام'' (انگلیسی: synchronous) (صبر تا آماده شدن شرط ادامه روند پردازش) اجرا شوند. سلری در سامانه‌های تولید (انگلیسی: production systems)، مثلاً در اینستاگرام، برای پردازش میلیون‌ها وظیفه در روز استفاده می‌شود.

 تکنولوژی 
سلری با زبان برنامه‌نویسی پایتون نوشته شده‌است، اما پروتکل می‌تواند در هر زبانی پیاده‌سازی شود. سلری قادر است با سایر زبان‌ها از طریق وب هوک‌ها (انگلیسی: webhooks) ارتباط برقرار کند. به علاوه یک کلاینت برای زبان Ruby به نام RCelery، یک کلاینت PHP و یک کلاینت Node.js هم دارد.کارگزار پیام (نام های دیگر: دلال پیام یا واسطه پیام''') (انگلیسی: message broker) توصیه شده برای سلری RabbitMQ یا Redis است. به علاوه MongoDB, Beanstalk, Amazon SQS، CouchDB, IronMQ و پایگاه داده‌ها (با استفاده از SQLAlchemy یا Django ORM) به صورت آزمایشی پشتیبانی می‌شوند.

منابع

پیوند به بیرون 
 
 
نرم‌افزارهای آزاد نوشته‌شده با پایتون
مقاله‌های خرد نرم‌افزار آزاد
نرم‌افزارهای سیستمی آزاد
ارتباطات بین پردازشی
میان‌افزار پیام محور
نرم‌افزارهای نوشته‌شده با پایتون
نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند