क्लाइंट/सर्वर को लागू करना

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है किसी समस्या की शिकायत करें सोर्स देखें रात · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Basel सिस्टम को, लंबे समय तक चलने वाली सर्वर प्रोसेस के तौर पर लागू किया जाता है. इससे यह सुविधा मिलती है ऐसे कई ऑप्टिमाइज़ेशन करने के लिए जो बैच-ओरिएंटेड क्रियान्वयन के साथ संभव नहीं हैं, जैसे, BUILD फ़ाइलों को कैश मेमोरी में सेव करना, डिपेंडेंसी ग्राफ़, और किसी एक डेटा से अन्य मेटाडेटा अगले चरण पर जाएं. यह इंक्रीमेंटल बिल्ड की स्पीड को बेहतर बनाता है, जैसे कि build और query पैकेज लोड हो जाते हैं, जिससे क्वेरी बहुत तेज़ी से हो जाती हैं.

bazel का इस्तेमाल करने का मतलब है कि क्लाइंट की जगह पर ही क्लाइंट का विज्ञापन दिख रहा है. क्लाइंट, सर्वर को ढूंढ लेता है आउटपुट बेस के आधार पर, जो डिफ़ॉल्ट रूप से बेस के पाथ से तय होता है फ़ाइल फ़ोल्डर और यूज़र आईडी का इस्तेमाल करें, ताकि अगर एक से ज़्यादा वर्कस्पेस बनाए जाएं, आपके पास एक से ज़्यादा आउटपुट बेस होंगे और इसलिए, एक से ज़्यादा Basel सर्वर प्रोसेस होंगी. एक वर्कस्टेशन पर मौजूद कई उपयोगकर्ता, एक साथ एक ही वर्कस्टेशन बना सकते हैं क्योंकि उनके आउटपुट बेस अलग-अलग होंगे (अलग-अलग यूज़र आईडी). अगर क्लाइंट को कोई मौजूदा सर्वर इंस्टेंस नहीं मिलता, बल्कि यह एक नया इंस्टेंस शुरू करता है. सर्वर कुछ समय तक कोई गतिविधि न होने पर, (डिफ़ॉल्ट रूप से तीन घंटे) प्रोसेस रुक जाएगी. स्टार्टअप विकल्प --max_idle_secs का इस्तेमाल करके बदला जाना चाहिए).

ज़्यादातर मामलों में, सर्वर के चालू होने का मतलब यह नहीं होता कि उपयोगकर्ता है, लेकिन कभी-कभी इसे ध्यान में रखने से मदद मिलती है. उदाहरण के लिए, अगर आपको ऐसी स्क्रिप्ट चलाना जो अलग-अलग डायरेक्ट्री में कई सारे ऑटोमेटेड बिल्ड करती हैं, यह पक्का करना ज़रूरी है कि आप इस्तेमाल न होने वाले सर्वर पर ज़्यादा संख्या में न आएं; की पहचान करें ऐसा करने के बाद, उन्हें साफ़ तौर पर बंद करके ऐसा किया जा सकता है या समयावधि तय करें.

Basel सर्वर प्रोसेस का नाम ps x या ps -e f के आउटपुट में दिखता है bazel(dirname) के तौर पर, जहां Dirname का बेसनेम है डायरेक्ट्री के अंदर, फ़ाइल फ़ोल्डर डायरेक्ट्री के रूट में मौजूद होती है. उदाहरण के लिए:

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

इससे यह पता लगाना आसान हो जाता है कि कौनसा सर्वर प्रोसेस दिए गए पेज से जुड़ा है name@yourcompany.com जैसा कोई प्रोफ़ेशनल ईमेल पता बनाएं. इससे आपका कारोबार ज़्यादा भरोसेमंद बनेगा. (ध्यान रखें कि ps, Basel सर्वर के कुछ अन्य विकल्पों के साथ प्रक्रियाओं को केवल java का नाम दिया जा सकता है.) Basel सर्वर को बंद करें आदेश.

bazel चलाते समय, क्लाइंट पहले यह जांच करता है कि सर्वर सही है या नहीं वर्शन; अगर नहीं, तो सर्वर बंद हो जाता है और एक नया चालू हो जाता है. इससे पक्का होता है कि लंबे समय तक चलने वाली सर्वर प्रोसेस का इस्तेमाल करने से, सही वर्शन.