> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/hi/production-checklist.md).

# Production Readiness Checklist

एक बार जब आपने [एक परिनियोजन विकल्प चुना हो](/deployment/hi/choosing-a-deployment.md), उत्पादन ट्रैफ़िक संभालने से पहले अपने इंटीग्रेशन को मज़बूत बनाने के लिए इस पृष्ठ का उपयोग करें। इसमें त्रुटि हैंडलिंग और पुनः प्रयास, टाइमआउट और कोल्ड स्टार्ट, रेट लिमिट, और के लिए प्रतिकृतियों का आकार शामिल है [समर्पित परिनियोजन](/deployment/hi/roboflow-cloud/dedicated-deployments.md).

## HTTP त्रुटियाँ और पुनः प्रयास

Roboflow के inference और management APIs मानक HTTP स्थिति कोडों का उपयोग करते हैं। पूर्ण क्रॉस-टूल तालिका (REST स्थिति कोड, SDK अपवाद, और CLI निकास कोड) में उपलब्ध है [त्रुटियाँ और स्थिति कोड](https://docs.roboflow.com/reference/errors-and-status-codes). उत्पादन के लिए मुख्य नियम है केवल उसी का पुनः प्रयास करना जो वास्तव में पुनः प्रयास योग्य हो:

| स्थिति        | पुनः प्रयास? | मार्गदर्शन                                                                                                                                  |
| ------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `200` / `204` | -            | सफलता।                                                                                                                                      |
| `400`         | नहीं         | गलत प्रारूप वाला अनुरोध - payload को ठीक करें; पुनः प्रयास करने पर वही गलत अनुरोध भेजा जाएगा।                                               |
| `401` / `403` | नहीं         | प्रमाणीकरण या पहुँच विफलता। पुनः प्रयास करने पर key मान्य नहीं होगी; API key और उसके scopes जाँचें।                                         |
| `402` / `423` | नहीं         | प्लान की सीमा, कोटा पूरा हो गया, या बिलिंग रोकी गई। इसे [बिलिंग](https://roboflow.com/pricing) पक्ष पर हल करें, लूप में पुनः प्रयास न करें। |
| `404`         | नहीं         | संसाधन मौजूद नहीं है या आपकी key को दिखाई नहीं देता।                                                                                        |
| `429`         | हाँ          | रेट सीमित। पीछे हटें और exponential backoff के साथ पुनः प्रयास करें (देखें [रेट सीमाएँ](#rate-limits)).                                     |
| `5xx`         | हाँ          | अस्थायी सर्वर त्रुटि। backoff के साथ पुनः प्रयास करना सुरक्षित है।                                                                          |

**Backoff पैटर्न।** के लिए `429` और `5xx`, exponential backoff और jitter के साथ पुनः प्रयास करें (उदाहरण के लिए, 1s, 2s, 4s, 8s के साथ एक random offset), और प्रयासों की संख्या सीमित रखें। कभी भी पुनः प्रयास न करें `401`/`403`/`404`/`400` स्वचालित रूप से - इसके बजाय उन्हें अपने application तक पहुँचाएँ।

जब आप [समर्पित परिनियोजन](/deployment/hi/roboflow-cloud/dedicated-deployments.md#http-api) management service (`https://roboflow.cloud`) को कॉल करते हैं, तो response code को स्पष्ट रूप से जाँचें: एक `200` JSON body लौटाता है, और कोई भी अन्य code एक string के रूप में error message लौटाता है।

## टाइमआउट और कोल्ड स्टार्ट

यह [Serverless Hosted API](/deployment/hi/roboflow-cloud/serverless-api.md) मॉडल को मांग पर लोड करता है। किसी ऐसे मॉडल के लिए पहला अनुरोध जो पहले से सर्वर पर resident नहीं है ("warmup") कई सेकंड ले सकता है, और जो मॉडल idle रहा हो (उदाहरण के लिए, inference के बीच लगभग 10 मिनट) उसे unload किया जा सकता है और अगली कॉल पर उसे फिर से लोड करना पड़ सकता है।

* **उदार client timeouts सेट करें।** ऐसा client timeout जो कोल्ड स्टार्ट पर फँसने जितना सख्त हो, उन अनुरोधों को विफल कर देगा जो अन्यथा सफल हो जाते। पहले अनुरोध पर और idle अवधि के बाद warmup के लिए अतिरिक्त समय रखें।
* **मॉडल को प्राइम करें।** यदि पूर्वानुमेय latency महत्वपूर्ण है, तो अपनी latency-संवेदनशील traffic से पहले एक warmup अनुरोध भेजें ताकि मॉडल पहले से cached हो।
* **response headers पर नज़र रखें।** Serverless प्रतिक्रियाओं में शामिल होते हैं `x-model-cold-start` (क्या इस अनुरोध ने लोड लागत चुकाई) और `x-processing-time`. इनका उपयोग cold-start की आवृत्ति और processing time की निगरानी के लिए करें। देखें [Serverless मूल्य निर्धारण](/deployment/hi/roboflow-cloud/serverless-api/pricing.md) कि ये headers बिलिंग में कैसे शामिल होते हैं।
* **अपलोड को सीमा के भीतर रखें।** Serverless Hosted API तक file uploads स्वीकार करता है **20 MB**; बड़ी images अस्वीकार कर दी जाती हैं। भेजने से पहले images का आकार कम करें (Python SDK यह स्वचालित रूप से करता है), जिससे आमतौर पर सटीकता प्रभावित नहीं होती क्योंकि images वैसे भी model के input size के अनुसार resize की जाती हैं। Batch Processing वही 20 MB प्रति-image सीमा लागू करता है।

निरंतर कम latency के लिए, cold starts के बिना, उपयोग करें [समर्पित परिनियोजन](/deployment/hi/roboflow-cloud/dedicated-deployments.md) या [Self-Hosted Inference](/deployment/hi/self-hosted/self-hosted.md) साझा serverless endpoint के बजाय।

## रेट सीमाएँ

* **Serverless Hosted API.** एक पर `429`, धीमा करें और exponential backoff के साथ पुनः प्रयास करें। यदि आप लगातार सीमाओं तक पहुँच रहे हैं या अधिक throughput की आवश्यकता है, तो अपने enterprise support संपर्क या [Roboflow forum](https://discuss.roboflow.com), या पर जाएँ [समर्पित परिनियोजन](/deployment/hi/roboflow-cloud/dedicated-deployments.md).
* **Deployment Manager API।** edge-device management endpoints स्पष्ट per-endpoint सीमाएँ लागू करते हैं और लौटाते हैं `429` जब सीमा पार हो जाती है - उदाहरण के लिए, device logs सीमित हैं **प्रति IP प्रति मिनट 5 अनुरोध** और **वैश्विक रूप से प्रति मिनट 50**, और telemetry reads के लिए **प्रति device प्रति मिनट 60 अनुरोध** 10 सेकंड में 10-अनुरोध burst के साथ। देखें [Deployment Manager API](/deployment/hi/self-hosted/enterprise/deployment-manager.md#errors) सटीक सीमाओं और error shapes के लिए, इससे पहले कि आप polling को किसी integration में बनाएँ।

जब आपके path के लिए कोई प्रलेखित संख्या मौजूद न हो, तो `429` को पीछे हटने के संकेत के रूप में मानें, न कि एक निश्चित budget मानकर, और [support से संपर्क करें](https://roboflow.com/sales) यदि आपको अधिक सीमा चाहिए।

## समर्पित परिनियोजन प्रतिकृति आकार निर्धारण

जब आप एक बनाते हैं [समर्पित परिनियोजन](/deployment/hi/roboflow-cloud/dedicated-deployments.md#http-api), तो आप सेट कर सकते हैं `min_replicas` और `max_replicas` (दोनों का डिफ़ॉल्ट `1`):

* **`min_replicas`** चलती रहने वाली प्रतिकृतियों की संख्या है। अधिक न्यूनतम मान हमेशा-चालू क्षमता की कीमत पर bursty load के तहत cold-start latency को कम करता है।
* **`max_replicas`** यह सीमित करता है कि लोड के तहत deployment कितना स्केल आउट कर सकता है। अधिक peak throughput के लिए इसे बढ़ाएँ।

स्थिर traffic के लिए, `min_replicas` और `max_replicas` का `1` सबसे सरल शुरुआती बिंदु है; बढ़ाएँ `max_replicas` जब एकल प्रतिकृति peak load के साथ नहीं चल पा रही हो, और बढ़ाएँ `min_replicas` यदि lull के बाद पहला अनुरोध बहुत धीमा हो।

### auto-pause के साथ अंतःक्रिया

समर्पित परिनियोजन **निष्क्रियता की अवधि के बाद auto-pause** - के लिए 1 घंटे पर स्थिर `dev-cpu` और `dev-gpu` प्रकार - और जब आप अपनी API key के साथ अनुरोध भेजते हैं तो फिर से शुरू हो जाता है। रोका गया deployment प्रतिकृतियाँ सेवा नहीं दे रहा होता, इसलिए उसे फिर से शुरू करने वाला अनुरोध resume latency वहन करता है।

* का उपयोग करें **persistent `prod-cpu` / `prod-gpu`** प्रकारों का उपयोग उत्पादन traffic के लिए करें जो हमेशा तैयार रहना चाहिए।
* अस्थायी प्रकारों को आरक्षित करें `dev-cpu` / `dev-gpu` प्रकारों को परीक्षण और prototyping के लिए - वे कुछ घंटों बाद स्वतः भी हटा दिए जाते हैं।
* यदि आपको uptime के बजाय request count पर आधारित billing, या एक custom pause/replica policy चाहिए, [sales से संपर्क करें](https://roboflow.com/sales).

## लाइव होने से पहले

* Retries हर outbound call को wrap करते हैं, और केवल `429` और `5xx` backoff के साथ पुनः प्रयास करते हैं।
* Client timeouts serverless cold starts को समाहित करने के लिए पर्याप्त उदार हैं।
* Images का आकार घटाया जाता है ताकि वे 20 MB upload limit के भीतर रहें।
* API keys न्यूनतम आवश्यक [scopes](https://docs.roboflow.com/reference/authentication/authentication/scoped-api-keys) का उपयोग करती हैं और secrets के रूप में संग्रहीत होती हैं, hard-coded नहीं।
* समर्पित परिनियोजन के लिए, `min_replicas` / `max_replicas` को आपके load के अनुसार आकार दिया गया है और आपने एक चुना है `prod-*` प्रकार हमेशा-चालू traffic के लिए।
* आप deployments की निगरानी करते हैं - देखें [मॉडल निगरानी](/deployment/hi/monitoring-and-analytics/model-monitoring.md) - और error-rate तथा latency regressions पर alert करें।
