---
title: "erpc worker की विफलता ठीक करें"
description: "erpc worker के सबसे आम error संदेश, हर एक का मतलब और क्या करें, शायद किसी और के कब्ज़े में गए सर्वर को कैसे वापस पाएँ, और erpc क्या कभी नहीं करता।"
canonical: "https://erpc.global/hi/doc/erpc-cli/worker-troubleshooting/"
locale: "hi"
---

# erpc worker की विफलता ठीक करें

`erpc worker` ने जो संदेश छापा, उसकी शुरुआत ढूँढें, और उसकी पंक्ति में जो लिखा है वह करें।

यह पेज ERPC CLI `v0.1.0-rc.4` के बारे में है, जो एक प्री-रिलीज़ है।

## Error संदेश और क्या करें

Worker की विफलताएँ erpc के कोड और एग्ज़िट कोड इस्तेमाल करती हैं: देखें [Errors और एग्ज़िट कोड](https://erpc.global/hi/doc/erpc-cli/commands/#errors-और-एग्ज़िट-कोड)।

| संदेश (उसकी शुरुआत) | क्यों | क्या करें |
| --- | --- | --- |
| `<app> cannot start without <SETTING>` | `run.requires` ऐसी सेटिंग का नाम लेता है जिसे कोई सेट नहीं करता | `erpc worker secret put <SETTING>`, उसे `[vars]` में सेट करें, या उस लाइन के साथ deploy करें जो उसे सेट करती है (`--grpc`, `--unlimited`) |
| `your key was added but does not get in` | SSH एजेंट ने sign नहीं किया: 1Password लॉक है, या उसकी request की अनुमति नहीं दी गई | 1Password अनलॉक करें, request की अनुमति दें, और वही कमांड फिर से चलाएँ। वह वहीं से आगे बढ़ती है |
| `1Password could not …: authorization timeout` | 1Password ने मंज़ूरी माँगी और किसी ने जवाब नहीं दिया | 1Password में request की अनुमति दें, और इसे फिर से चलाएँ |
| `<NAME> is empty; nothing was kept` | `secret put` ने खाली standard input पढ़ा: shell टर्मिनल नहीं है | इसे टर्मिनल में चलाएँ, या value pipe से दें |
| `the keystore is locked, and nobody is at a terminal …` | बिना टर्मिनल वाली कमांड को keystore चाहिए, और कोई अनलॉक रखा हुआ नहीं है | टर्मिनल पर `erpc worker secret unlock`, फिर कमांड दोबारा |
| `nothing is kept under keystore:… on this machine` | value किसी दूसरी मशीन के keystore में रखी गई थी | यहाँ `erpc worker secret put <NAME> --replace`; key के लिए, उस मशीन की पूरी `keystore` directory और उसका पासफ़्रेज़ लाएँ |
| `release <id> failed: …; the server went back to <previous>` | नई रिलीज़ अपना हेल्थ चेक पास नहीं कर पाई | `erpc worker logs` देखें। पिछली रिलीज़ अब भी चल रही है |
| `… is locked: the trading key has not been handed over` | सर्वर रीबूट हुआ, एजेंट विफल हुआ या उसे kill किया गया और systemd ने उसे फिर से शुरू किया, या `stop --lock` | `erpc worker start` |
| `port <n> is taken: …` | कोई दूसरा worker, जिसे चालू रखा जाता है, उसी हेल्थ चेक पोर्ट पर है, या कोई दूसरा program उस पर सुन रहा है | `erpc.toml` में app को उसका अपना पोर्ट दें, फिर दोबारा deploy करें |
| `release <id> runs, and its WAF did not come up: …` | WAF ने सुनना शुरू नहीं किया। ज़्यादातर मामलों में, कोई दूसरा program `waf.port` पर है | `erpc worker logs --waf`, फिर पोर्ट खाली करें या `waf.port` बदलें, और दोबारा deploy करें। इस बीच app चलता रहता है |
| `waf.<key> …` (`check`, `deploy` से) | कोई `[waf]` key अपनी सीमाओं से बाहर है, या `waf.port` 1024 से कम है, या `run.port` के, SSH के या हेल्थ चेक के पोर्ट के बराबर है | `erpc.toml` ठीक करें। `erpc worker check` सारी समस्याएँ एक साथ बताता है |
| `the WAF's port <port> was not opened to …` (`firewall allow`, `deny`, `sync` से) | यह बदलाव किसी नए व्यक्ति को ऐसे WAF नियमों के तहत अंदर आने देता, जिन्हें सर्वर अभी नहीं चला रहा | `erpc worker deploy`: यह नए नियम लागू करता है, फिर पोर्ट खोलता है |
| `<kind> line <id> did not become active in <n> minutes` | लाइन अभी सेट की जा रही है | और इंतज़ार करने के लिए दोबारा deploy करें |
| `OUT_OF_STOCK` | उस region में उस प्लान का कोई सर्वर खाली नहीं है | `--region <another>` के साथ deploy करें |
| `the start may or may not have gone through: …` | request चली गई और कोई जवाब वापस नहीं आया, या जवाब 5xx, 408 या 429 था | वही कमांड फिर से चलाएँ: वह वही request भेजती है |
| `this purchase, or another of the account's, is still being made …` | पहली request अब भी काम में है, या account की कोई दूसरी खरीद उसका लॉक पकड़े हुए है | थोड़ी देर बाद वही कमांड फिर से चलाएँ: वह वही request भेजती है |
| `… changed in 1Password since this command read it` | इस बीच किसी दूसरी मशीन ने इन्वेंटरी item लिख दिया | कमांड फिर से चलाएँ |
| `the shared RPC takes none of the account's API keys from this machine (<n> tried)` (`secret put --from-account`, `erpc rpc call`, `erpc webhook run` से) | account की हर key को इस मशीन से अस्वीकार किया गया: keys समाप्त हो चुकी हैं, account के पास कोई सक्रिय shared RPC प्लान नहीं है, या keys दूसरे addresses तक सीमित हैं, जैसे किसी सर्वर का address | [ERPC Web Dashboard](https://dashboard.erpc.global/hi) किसी key की समाप्ति तिथि और प्लान दिखाता है, और नई key बनाता है। सर्वर के address तक सीमित key के लिए: `erpc worker secret put ERPC_API_KEY`, टाइप करके या pipe से |
| `shared: … HTTP 401` (bench) | shared RPC ने key अस्वीकार की: कोई सक्रिय shared RPC प्लान नहीं, या गलत key | dashboard पर प्लान जाँचें, या `ERPC_API_KEY` सेट करें |
| `shared: … HTTP 429` (bench) | प्लान का rate limit | `--interval 150` या उससे ज़्यादा इस्तेमाल करें |

### ऐसी खरीद जिसे erpc रिकॉर्ड में दर्ज नहीं कर पाता

जब किसी सर्वर या लाइन को शायद किसी पिछली request ने शुरू कर दिया हो जिसे erpc रिकॉर्ड में दर्ज नहीं कर पाया, तो dashboard में अपने account के सर्वर और लाइनें देखें। किसी सर्वर को `erpc worker deploy --vps <ID>` से अपनाएँ, या जो नहीं चाहिए उसे समाप्त करें। फिर `erpc.toml` में `[env.<name>.starting]` से वह एंट्री हाथ से हटाएँ: erpc में ऐसा कोई flag नहीं है जो उसे हटाए, और तब तक वही कमांड वही request भेजती है।

## अगर सर्वर शायद किसी और के कब्ज़े में चला गया हो

1. सर्वर की बैकअप access key रद्द करने के लिए, सबसे पहले `erpc worker backup off` चलाएँ। `off` उसे पूर्ववत नहीं करता जो सर्वर पहले ही पढ़ चुका है।
2. उसकी trading key से funds हटा लें, और उसके secrets बदल दें।
3. [ERPC Web Dashboard](https://dashboard.erpc.global/hi) से सर्वर को rebuild करें, और दोबारा deploy करें।

अगर rebuild से सर्वर की SSH host key बदल गई, तो erpc उस सर्वर को तब तक अस्वीकार करता है जब तक आप पिन की गई key अपडेट न करें। Deploy कोड वापस लाता है, app का state नहीं, जिसे सिर्फ़ बैकअप पुनर्स्थापित कर सकता है ([App के state का बैकअप लें](https://erpc.global/hi/doc/erpc-cli/worker-status-and-billing/#app-के-state-का-बैकअप-लें))।

## erpc क्या कभी नहीं करता

- किसी key, secret, या ऐसे URL को जिसमें इनमें से कोई हो, कमांड लाइन पर रखना।
- trading key या किसी app का secret किसी फ़ाइल में लिखना, एक अपवाद के साथ: आपकी मशीन पर उसका keystore, जहाँ हर एक आपके पासफ़्रेज़ के तहत एन्क्रिप्ट होता है। सर्वर पर, `erpc worker backup on` सर्वर की अपनी बैकअप keys को ऐसी फ़ाइल में छोड़ता है जिस तक सिर्फ़ root की पहुँच है।
- मूल्य दिखाए बिना कुछ भी शुरू करना।
- सर्वर को खुला छोड़ना: app के पहली बार शुरू होने से पहले ही फ़ायरवॉल लागू होता है।
- ऐसे सर्वर तक पहुँचना जिसकी host key पिन की गई key से मेल नहीं खाती।

[Worker गाइड](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/worker.md) में हर संदेश की सूची है, WAF के संदेशों सहित।
