स्टार्टअप स्क्रिप्ट्स
Inference शुरू होने से पहले एक समर्पित डिप्लॉयमेंट पर रूट के रूप में Bash स्क्रिप्ट चलाएँ।
एक स्टार्टअप स्क्रिप्ट, इन्फेरेंस शुरू होने से पहले, Dedicated Deployment पर पैकेज इंस्टॉल करती है या डेटा डाउनलोड करती है। इसका उपयोग तब करें जब आपके मॉडल या Workflows को किसी Python पैकेज, सिस्टम टूल, या ऐसे डेटा फ़ाइल की ज़रूरत हो जिसे इन्फेरेंस कंटेनर शामिल नहीं करता।
के बारे में
स्क्रिप्ट Bash में होती है। यह हर कंटेनर स्टार्ट पर root के रूप में चलती है, जिसमें नए replicas और restarts भी शामिल हैं। उसके बाद इन्फेरेंस एक non-root user के रूप में चलता है।
आपकी स्क्रिप्ट 10 मिनट के भीतर समाप्त होनी चाहिए। कोई त्रुटि या timeout इन्फेरेंस को शुरू होने से रोक देता है, और कंटेनर फिर से कोशिश करता है। स्क्रिप्ट को शुरू करें set -e से ताकि यह किसी failed command पर रुक जाए, और इसे इस तरह लिखें कि इसे दोबारा चलाना सुरक्षित हो।
आपके लिए कुछ भी तैयार नहीं किया गया है। pip जैसे किसी भी आवश्यक टूल को इंस्टॉल करें। इसके अंदर की फ़ाइलें /userdata कंटेनर बदले जाने या deployment pause होने पर खो सकती हैं, इसलिए उन्हें हर start पर फिर से डाउनलोड करें। आपकी स्क्रिप्ट द्वारा export किए गए environment variables इन्फेरेंस को पास नहीं किए जाते।
INFERENCE_UID और INFERENCE_GID उन numeric user और group IDs को रखते हैं जिनके रूप में इन्फेरेंस चलता है। इनका उपयोग इन्फेरेंस को उन फ़ाइलों तक पहुँच देने के लिए करें जिन्हें आपकी स्क्रिप्ट बनाती है।
#!/bin/bash
set -e
apt-get update
apt-get install -y --no-install-recommends curl jq python3-pip
python3 -m pip install 'humanize==4.12.3'
mkdir -p /userdata/custom-data
curl --fail --location 'https://YOUR_HOST/data.json' --output /userdata/custom-data/data.json
chown -R "$INFERENCE_UID:$INFERENCE_GID" /userdata/custom-dataएक स्क्रिप्ट अधिकतम 64 KiB की हो सकती है और उसमें NUL characters नहीं हो सकते।
वेब ऐप
"Startup Script (Bash)" फ़ील्ड में स्क्रिप्ट दर्ज करें। यह फ़ील्ड "Create a Dedicated Deployment" संवाद में और किसी मौजूदा deployment की settings में होता है। इसे हटाने के लिए "Clear Script" चुनें।
स्क्रिप्ट सेव करने से चल रहे कंटेनर पुनः शुरू नहीं होते। यह बदलाव अगली बार कंटेनर शुरू होने पर लागू होता है। इसे तुरंत लागू करने के लिए, deployment को pause करें और फिर उसे resume करें।
अपनी स्क्रिप्ट का आउटपुट पढ़ने के लिए, deployment पर "View Logs" चुनें, फिर नए entries के लिए "Refresh" चुनें। यह संवाद सभी replicas में पिछले घंटे की अधिकतम 300 entries दिखाता है, और entries को दिखाई देने में थोड़ा समय लग सकता है। आपकी स्क्रिप्ट जो कुछ भी print करती है, वह वहाँ दिखाई देता है, इसलिए credentials print न करें।
विफलताएँ
यदि हर replica की startup script लगातार 5 बार विफल हो जाती है, तो deployment pause हो जाता है। एक सफलता उस replica के लिए गिनती रीसेट कर देती है। इसके बाद status "Paused: Startup Script Failures" दिखाता है। स्क्रिप्ट को ठीक करें या हटाएँ, फिर "Resume" चुनें। आने वाले अनुरोध deployment को resume नहीं करते।
जब स्क्रिप्ट विफल होना शुरू होती है, तो deployment बनाने वाले व्यक्ति और workspace owners को एक ईमेल मिलता है। Roboflow उसी विफलता के लिए तब तक कोई और ईमेल नहीं भेजता जब तक deployment recover न हो जाए या आप स्क्रिप्ट न बदलें।
HTTP API
Dedicated Deployment endpoints यहाँ होस्ट किए जाते हैं https://roboflow.cloudपर। बाकी के लिए देखें Dedicated Deployments ।
एक Deployment बनाएँ एक वैकल्पिक startup_script को अपनी body में स्वीकार करता है। किसी पहले से मौजूद deployment पर स्क्रिप्ट बदलने के लिए, इसे यहाँ POST करें /update_startup_script.
POST /update_startup_script
api_key
string
Workspace API key.
deployment_name
string
अपडेट करने वाला Deployment।
startup_script
string
स्क्रिप्ट की सामग्री। स्क्रिप्ट हटाने के लिए एक खाली string भेजें।
अंतिम अपडेट
क्या यह उपयोगी था?