İstemci/sunucu uygulaması

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Bazel sistemi uzun ömürlü bir sunucu işlemi olarak uygulanmıştır. Bu sayede toplu odaklı bir uygulama ile mümkün olmayan birçok optimizasyon gerçekleştirmeyi, BUILD dosyalarının önbelleğe alınması, bağımlılık grafikleri ve yardımcı olur. Bu şekilde artımlı derlemelerin hızı artar ve aynı önbelleği paylaşmak için build ve query gibi farklı komutlar yaparak sorguların çok hızlı olmasını sağlayabilir.

bazel çalıştırdığınızda istemciyi çalıştırmış olursunuz. İstemci sunucuyu bulur çıktı tabanına göre belirlenir. Bu taban, varsayılan olarak olduğundan, birden fazla çalışma alanında derleme yaparsanız birden fazla çıkış tabanınız ve dolayısıyla birden fazla Bazel sunucusu işleminiz olacaktır. Aynı iş istasyonunda birden fazla kullanıcı, aynı farklı kullanıcı kimlikleri (kullanıcı kimlikleri) nedeniyle Google Workspace'i destekler.

İstemci çalışan bir sunucu örneği bulamazsa yeni bir örnek başlatır. Google bunu, çıktı tabanının mevcut olup olmadığını kontrol ederek ve alev oluştuğunu ima ederek arşiv zaten açıldı. Aksi takdirde, çıktı tabanı yoksa istemci arşivin dosyalarını açar ve mtime öğelerini 9 yıllık bir tarihe ayarlar daha avantajlı bir konumda olursunuz. Yüklendikten sonra, istemcinin mtime sıkıştırılmış dosyalar, yüklemede değişiklik olmaması için en uzak tarihe eşittir olmuştur.

Sunucu işlemi belirli bir süre (varsayılan olarak 3 saat, Bu boyut, --max_idle_secs başlangıç seçeneği kullanılarak değiştirilebilir). Çoğunlukla kısmen, çalışan bir sunucu olduğu gerçeği kullanıcı tarafından görülemez, ancak bunu göz önünde bulundurmak faydalı olacaktır. Örneğin, komut dosyalarını çalıştırıyorsanız başka dizinlerde birçok otomatik derleme gerçekleştiren çok fazla boşta sunucu biriktirmediğinizden emin olmak için; bu işlemi söz konusu reklamları açıkça kapatmanızı veya kısa bir zaman aşımı süresi oluşmuştur.

Bazel sunucu işleminin adı, ps x veya ps -e f çıkışında görünür bazel(dirname) biçimindedir; burada dirname, çalışma alanı dizininizin kökünü kapsayan dizin. Örneğin:

ps -e f
16143 ?        Sl     3:00 bazel(src-johndoe2) -server -Djava.library.path=...

Bu da hangi sunucu işleminin belirli bir veri kümesine ait çalışmayacaktır. (ps için diğer bazı seçeneklerde, Bazel sunucusuna işlemleri yalnızca java olarak adlandırılabilir.) Bazel sunucuları shutdown komutu kullanılır.

bazel çalışırken istemci öncelikle sunucunun uygun sürüm; yoksa sunucu durdurulur ve yeni bir sunucu başlatılır. Böylece proje daha uzun süreli bir sunucu işleminin kullanılması, doğru işleme sürüm oluşturma.