The Twelve-Factor App

XII. Yönetici Süreci

Yönetici/yönetim görevlerini tek seferlik işlem olarak çalıştırma

Süreç oluşumu uygulama çalışırken uygulamanın sıradan işlerini (web isteklerini idare etmek gibi) yapmakta kullanılan süreçlerin bir dizisidir. Ayrı olarak, geliştiriciler çoğunlukla uygulamanın bir kereye mahsus yönetimsel veya bakım görevlerini yapmayı dileyecekler, şunun gibi:

Bir kerelik yönetici süreçleri uygulamanın sıradan uzun çalışan süreçleri gibi aynı ortamlarda çalışmalıdır. Onlar herhangi bir sürecin çalıştığı gibi sürüme karşı aynı kod tabanı ve yapılandırmayı kullanarak çalışır. Yönetici uygulama kodunu senkronizasyon sorunundan kaçınmak için yüklemelidir.

Aynı bağımlılık yalıtımı teknikleri bütün süreç yönetiminde kullanılmalıdır. Örneğin, eğer Ruby web süreçleri bundle exec thin start komutunu kullanıyorsa, veri tabanı göçü bundle exec rake db:migrate komutu kullanmalıdır. Aynı durumda, Virtualenv kullanan bir Python programı, Tornado web sunucusu ve herhangi bir manage.py yönetici süreçlerinin ikisini de çalıştırabilmek için bin/python kullanmalıdır.

On iki faktör, REPL kabuğunu kural dışı sağlayan ve tek seferlik betikleri çalıştırmayı kolaylaştıran dilleri fazlasıyla destekler. Yerel dağıtımda, geliştiriciler uygulamanın kontrol dizinindeki açık kabuk komutuyla tek seferlik yönetici süreçlerini çalıştırır. Ürün dağıtımında, geliştiriciler bu gibi bir süreci çalıştırmak için ssh veya dağıtımın çalışma ortamı tarafından sağlanan diğer uzak komut çalıştırma mekanizmasını kullanabilir.