---
title: "XII. فرآیندهای مدیریتی"
source: Twelve-Factor App
source_url: https://github.com/heroku/12factor
licence: MIT
domain: engineering
subdomain: 12factor
date_added: 2026-04-25
---

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

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

* اجرای مهاجرت‌های پایگاه‌داده (به عنوان مثال `manage.py migrate` در Django و `rake db:migrate` در Rails).
* اجرای یک خط فرمان (که به عنوان پوسته [REPL](http://en.wikipedia.org/wiki/Read-eval-print_loop) نیز شناخته می شود) برای اجرای کد دلخواه یا بازرسی مدل‌های برنامه در برابر پایگاه‌داده‌ی عملیاتی. اکثر زبان‌ها با اجرای مفسر بدون هیچ آرگومان (مانند `python` یا `perl`) یک REPL ارائه می‌کنند یا در برخی موارد دارای یک فرمان جداگانه هستند (مانند `irb` برای Ruby،   و `rails console` برای Rails).
* اجرای اسکریپت های یکبار مصرف در مخزن برنامه (مانند `php scripts/fix_bad_records.php`).

پردازه‌های مدیریت یکبار مصرف باید در محیطی مشابه با [پردازه‌های با طول عمر بالا](./processes) ی برنامه اجرا شوند. آنها در برابر یک [استقرار](./build-release-run) برنامه‌ی کاربردی اجرا می شوند، با استفاده از همان [کد](./codebase) و [پیکربندی](./config) مانند هر پردازه‌ای که در از آن نسخه اجرا می‌شود. کد زیربرنامه‌ی مدیریتی یا نگهداری باید همراه با کد برنامه ارسال شود تا از مشکلات همگام‌سازی و عدم یکسان بودن آن‌ها جلوگیری شود.

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

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