XII. فرآیندهای مدیریتی

وظایف مدیریتی/نگهداری را با پردازه‌های یکبار مصرف اجرا کنید

مدل پردازش آرایه‌ای از پردازه‌هایی است که برای انجام کارهای عادی برنامه (مانند رسیدگی به درخواست‌های وب) در حین اجرا استفاده می شود. به طور جداگانه، توسعه‌دهندگان اغلب مایلند کارهای مدیریتی یا نگهداری نرم‌افزار را برای برنامه انجام دهند، مانند:

پردازه‌های مدیریت یکبار مصرف باید در محیطی مشابه با پردازه‌های با طول عمر بالا ی برنامه اجرا شوند. آنها در برابر یک استقرار برنامه‌ی کاربردی اجرا می شوند، با استفاده از همان کد و پیکربندی مانند هر پردازه‌ای که در از آن نسخه اجرا می‌شود. کد زیربرنامه‌ی مدیریتی یا نگهداری باید همراه با کد برنامه ارسال شود تا از مشکلات همگام‌سازی و عدم یکسان بودن آن‌ها جلوگیری شود.

تکنیک‌هایی یکسان برای جداسازی وابستگی باید در همه‌ی انواع پردازه‌ها استفاده شود. به عنوان مثال، اگر فرآیند وب Ruby از دستور bundle exec thin start استفاده کند، در این صورت مهاجرت پایگاه‌داده نیز باید از bundle exec rake db:migrate استفاده کند. به همین ترتیب، یک برنامه‌ی پایتون با استفاده از Virtualenv باید از bin/python آن کتابخانه برای اجرای هر دو وب سرور Tornado و هر فرآیند مدیریتی manage.py استفاده کند.

دوازده-سازه به شدت طرفدار زبان‌هایی است که پوسته REPL بدون نیاز به ابزار جانبی ارائه می‌دهند و اجرای اسکریپت‌های یکباره را آسان می کنند. در یک استقرار داخلی، توسعه‌دهندگان فرآیندهای مدیریت یکباره را با یک فرمان پوسته مستقیم در مسیر پوشه‌ی وارسی برنامه فراخوانی می‌کنند. در استقرار عملیاتی، توسعه‌دهندگان می‌توانند از ssh یا سایر روش‌های اجرای فرمان از راه دور که توسط محیط اجرای آن استقرار ارائه می‌شود، برای اجرای چنین فرآیندی استفاده کنند.