# रन

> रन की स्थितियाँ, रन पर आप कौन-सी कार्रवाइयाँ कर सकते हैं, और रन कैसे रुकता है।

एक रन एक ऑप्टिमाइज़ेशन है। इसकी एक स्थिति, एक खर्च की सीमा और सहेजे गए संस्करणों का एक सेट होता है। यह पेज रन की स्थितियाँ, रन पर आप कौन-सी क्रियाएँ कर सकते हैं, और रन रुकने के कारण बताता है।

## रन की स्थितियाँ

हर रन की इनमें से एक स्थिति होती है:

| स्थिति         | अर्थ                                                                      |
| ------------ | ------------------------------------------------------------------------ |
| `pending`    | रन कतार में है।                                                           |
| `validating` | ऑप्टिमाइज़ेशन शुरू होने से पहले Skynet सेटअप की जाँच करता है।                     |
| `running`    | ऑप्टिमाइज़र नए संस्करण प्रस्तावित करता है और उन्हें स्कोर करता है।                    |
| `success`    | रन पूरा हो गया। सबसे अच्छा संस्करण सहेजा गया है।                               |
| `failed`     | एक त्रुटि ने रन को रोक दिया।                                                 |
| `cancelled`  | किसी व्यक्ति ने रन रद्द किया।                                                 |
| `paused`     | रन एक चेकपॉइंट पर रुका। आप इसे फिर से शुरू कर सकते हैं।                         |
| `stopped`    | रन अपने बजट पर रुका। इसे मिला सबसे अच्छा संस्करण यह रखता है।                     |

`success`, `failed`, `cancelled`, `stopped` और `paused` अंतिम (terminal) स्थितियाँ हैं। अंतिम स्थिति वाले रन पर ऑप्टिमाइज़र काम नहीं करता। `paused` एकमात्र अंतिम स्थिति है जो फिर से शुरू करने के लिए ही बनी है।

## क्रियाएँ

रन पेज वे क्रियाएँ दिखाता है जो मौजूदा स्थिति और आपकी भूमिका पर लागू होती हैं। API में भी यही क्रियाएँ हैं।

| क्रिया                    | आप इसे कब इस्तेमाल कर सकते हैं                                                                              | यह क्या करती है                                                            |
| ------------------------ | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **रोकें**                 | रन चल रहा है और उसका एक सहेजा गया चेकपॉइंट है।                                                              | रन को चेकपॉइंट पर रोकती है। स्थिति `paused` में बदल जाती है।                     |
| **रद्द करें**              | रन `pending`, `validating` या `running` है।                                                                | रन को रोकती है। रद्द करने को पूर्ववत नहीं किया जा सकता।                           |
| **फिर से शुरू करें**       | रन `failed`, `cancelled`, `paused` है, या अपने बजट पर `stopped` है, और उसका एक सहेजा गया चेकपॉइंट है।          | उसी रन को उसके आखिरी चेकपॉइंट से जारी रखती है। रन का id वही रहता है।               |
| **क्लोन करें**             | जब भी आप रन देख सकते हैं।                                                                                  | कॉन्फ़िगरेशन की एक कॉपी के साथ सबमिट विज़ार्ड खोलती है।                            |
| **हटाएँ**                 | रन अंतिम स्थिति में है। केवल स्वामी।                                                                         | रन और उसका सारा डेटा स्थायी रूप से हटा देती है।                                  |

`failed` या `cancelled` रन के लिए API में दो और क्रियाएँ हैं:

- **फिर से कोशिश करें** उसी कॉन्फ़िगरेशन के साथ एक नया रन शुरू करती है। नए रन को एक नया id मिलता है।
- **दोबारा शुरू करें** उसी रन को शुरुआत से फिर से शुरू करती है। रन का id वही रहता है।

> [!NOTE]
> फिर से कोशिश, दोबारा शुरू और API क्लोन ऐसे रन को अस्वीकार करते हैं जिसकी अपनी खर्च की सीमा है। नया रन शुरू करने से पहले सबमिट विज़ार्ड में कॉन्फ़िगरेशन खोलें और नया बजट सेट करें। रन पेज पर **क्लोन करें** बटन यह आपके लिए करता है।

API क्लोन एक अनुरोध में 1 से 5 कॉपी बना सकता है। हर कॉपी आपकी रन सीमाओं में गिनी जाती है। [सीमाएँ](/docs/hi/limits) देखें।

### कौन क्रिया कर सकता है

रन पर आपकी भूमिका तय करती है कि आपको कौन-सी क्रियाएँ दिखती हैं:

- **स्वामी** सभी क्रियाएँ कर सकता है, साझाकरण संभाल सकता है और रन हटा सकता है।
- **एडिटर** रन को रोक, रद्द, फिर से शुरू और फिर से कोशिश कर सकता है, और उसकी खर्च की सीमा बढ़ा सकता है।
- **दर्शक** रन खोल सकता है और उसे क्लोन कर सकता है।

भूमिकाओं के बारे में और जानने के लिए [साझा करें और प्रकाशित करें](/docs/hi/guides/sharing) पढ़ें।

## रन कैसे रुकता है

रन चार में से किसी एक कारण से रुकता है।

### पूरा होना

ऑप्टिमाइज़र अपना काम पूरा कर लेता है। स्थिति `success` में बदल जाती है। Skynet सबसे अच्छा संस्करण सहेजता है और अंतिम टेस्ट चलाता है। [परिणाम पढ़ें](/docs/hi/guides/results) पढ़ें।

### बजट

रन शुरू होने से पहले उसका कोई लागत अनुमान नहीं होता। उसकी खर्च की सीमा वह बजट है जिसे वह इस्तेमाल कर सकता है। रन चलते समय Skynet हर स्कोरर रन की असली लागत मापता है:

1. Skynet 10 सेटल हुए स्कोरर रन का इंतज़ार करता है। उससे पहले, एक कॉल की लागत इस्तेमाल करने के लिए बहुत अस्थिर होती है।
2. Skynet अगली इटरेशन की कीमत तय करने के लिए अब तक की औसत लागत इस्तेमाल करता है। वह कीमत को 1.5 से गुणा करता है, क्योंकि बाद की इटरेशन आमतौर पर अधिक महँगी होती हैं।
3. जब बचा हुआ बजट अगली इटरेशन का भुगतान नहीं कर सकता, तो Skynet नया काम स्वीकार करना बंद कर देता है। ऑप्टिमाइज़र अपनी अगली सशुल्क कॉल पर रुक जाता है।

तब रन की स्थिति `stopped` और रुकने का कारण `budget_reached` होता है। रन पेज **बजट की सीमा पूरी हुई** सूचना दिखाता है। सूचना बताती है कि Skynet ने कौन-सा संस्करण सहेजा:

- आपका सबसे अच्छा मूल्यांकित संस्करण।
- आपका मूल्यांकित शुरुआती संस्करण, अगर कोई बेहतर संस्करण नहीं मिला।
- कोई संस्करण नहीं, अगर किसी भी उम्मीदवार का मूल्यांकन पूरा होने से पहले बजट खत्म हो गया। आपके इनपुट और लॉग सहेजे रहते हैं।

जारी रखने के लिए, सूचना पर **सीमा बढ़ाएँ और जारी रखें** इस्तेमाल करें। Skynet रन को आखिरी चेकपॉइंट से फिर से शुरू करता है।

> [!TIP]
> **कोई सीमा नहीं** वाला रन पूरा होने तक आपके खाते के बैलेंस से खर्च करता है। अगर बैलेंस खत्म हो जाता है, तो रन रुक जाता है और जो उसके पास है उसे रखता है। तब सूचना **खाते की शेष राशि ख़त्म** दिखाती है। फंड जोड़ें, फिर रन को फिर से शुरू करें।

कुछ पुराने रन `budget_projected` कारण के साथ रुके थे। आप उन्हें भी इसी तरह फिर से शुरू कर सकते हैं।

### विफलता

एक त्रुटि रन को रोक देती है। स्थिति `failed` में बदल जाती है। **लॉग** टैब दिखाता है कि क्या हुआ। अगर रन का एक सहेजा गया चेकपॉइंट है, तो आप उसे फिर से शुरू कर सकते हैं। आप उसे फिर से कोशिश भी कर सकते हैं।

अगर आपका जॉब चलाते समय कोई वर्कर रुक जाता है, तो Skynet जॉब को रिकवर करता है और फिर से कोशिश करता है। 3 प्रयासों के बाद, Skynet जॉब को विफल चिह्नित करता है। विफलता या रद्द करने के बाद फिर से शुरू करना भी एक प्रयास गिना जाता है। रोकने या बजट पर रुकने के बाद फिर से शुरू करना नहीं गिना जाता।

### रद्द करना

आप रन रद्द करते हैं। स्थिति `cancelled` में बदल जाती है। रद्द करने को पूर्ववत नहीं किया जा सकता। बाद में आप रन को किसी सहेजे गए चेकपॉइंट से फिर से शुरू कर सकते हैं, या उसे फिर से कोशिश कर सकते हैं।

## संबंधित पेज

- [बजट और बिलिंग](/docs/hi/concepts/billing)
- [विज़ार्ड से रन शुरू करें](/docs/hi/guides/submit)
- [सीमाएँ](/docs/hi/limits)

---

Source: https://staging.skynetml.com/docs/hi/concepts/runs
