---
title: "Bir erpc worker hatasını giderin"
description: "En sık karşılaşılan erpc worker hata mesajları, anlamları ve ne yapılacağı, ele geçirilmiş olabilecek bir sunucunun kurtarılması ve erpc'nin asla yapmadıkları."
canonical: "https://erpc.global/tr/doc/erpc-cli/worker-troubleshooting/"
locale: "tr"
---

# Bir erpc worker hatasını giderin

`erpc worker` komutunun yazdırdığı mesajın başlangıcını bulun ve o mesajın satırında yazanı yapın.

Bu sayfada bir ön sürüm olan ERPC CLI `v0.1.0-rc.4` anlatılır.

## Hata mesajları ve yapılacaklar

Worker hataları erpc'nin kodlarını ve çıkış durumlarını kullanır: bkz. [Hatalar ve çıkış kodları](https://erpc.global/tr/doc/erpc-cli/commands/#hatalar-ve-çıkış-kodları).

| Mesaj (başlangıcı) | Neden | Ne yapmalı |
| --- | --- | --- |
| `<app> cannot start without <SETTING>` | `run.requires`, hiçbir şeyin ayarlamadığı bir ayarın adını veriyor | `erpc worker secret put <SETTING>` çalıştırın, ayarı `[vars]` içinde belirleyin ya da onu ayarlayan hatla dağıtın (`--grpc`, `--unlimited`) |
| `your key was added but does not get in` | SSH ajanı imzalamadı: 1Password kilitli ya da isteğine izin verilmedi | 1Password'ün kilidini açın, isteğe izin verin ve aynı komutu yeniden çalıştırın. Kaldığı yerden devam eder |
| `1Password could not …: authorization timeout` | 1Password onay istedi ve kimse yanıt vermedi | İsteğe 1Password'de izin verin ve komutu yeniden çalıştırın |
| `<NAME> is empty; nothing was kept` | `secret put` boş bir standart girdi okudu: kabuk bir terminal değil | Komutu bir terminalde çalıştırın ya da değeri pipe ile verin |
| `the keystore is locked, and nobody is at a terminal …` | Terminal olmadan çalışan bir komut keystore'a ihtiyaç duyuyor ve kilit açık tutulmuyor | Bir terminalde `erpc worker secret unlock`, ardından komutu yeniden çalıştırın |
| `nothing is kept under keystore:… on this machine` | Değer başka bir makinenin keystore'unda tutulmuştu | Burada `erpc worker secret put <NAME> --replace`; anahtar için o makinenin `keystore` dizininin tamamını ve parola ifadesini getirin |
| `release <id> failed: …; the server went back to <previous>` | Yeni release sağlık kontrolünden geçemedi | `erpc worker logs` çıktısına bakın. Önceki release hâlâ çalışıyor |
| `… is locked: the trading key has not been handed over` | Sunucu yeniden başlatıldı, ajan başarısız oldu ya da sonlandırıldı ve systemd onu yeniden başlattı ya da `stop --lock` çalıştırıldı | `erpc worker start` |
| `port <n> is taken: …` | Çalışır durumda tutulan başka bir worker aynı sağlık kontrolü bağlantı noktasına sahip ya da başka bir program onu dinliyor | Uygulamaya `erpc.toml` içinde kendine ait bir bağlantı noktası verin, ardından yeniden dağıtın |
| `release <id> runs, and its WAF did not come up: …` | WAF dinlemeye başlamadı. Çoğu zaman `waf.port` üzerinde başka bir program vardır | `erpc worker logs --waf`, ardından bağlantı noktasını boşaltın ya da `waf.port` değerini değiştirin ve yeniden dağıtın. Bu arada uygulama çalışır |
| `waf.<key> …` (`check`, `deploy` komutlarından) | Bir `[waf]` anahtarı sınırlarının dışında ya da `waf.port` 1024'ün altında veya `run.port` değerinin, SSH'nin ya da sağlık kontrolünün bağlantı noktasıyla aynı | `erpc.toml` dosyasını düzeltin. `erpc worker check` tüm sorunları bir kerede listeler |
| `the WAF's port <port> was not opened to …` (`firewall allow`, `deny`, `sync` komutlarından) | Değişiklik, sunucunun henüz çalıştırmadığı WAF kuralları altında yeni birini içeri alırdı | `erpc worker deploy`: yeni kuralları yerine koyar, ardından bağlantı noktasını açar |
| `<kind> line <id> did not become active in <n> minutes` | Hat hâlâ kuruluyor | Daha uzun beklemek için yeniden dağıtın |
| `OUT_OF_STOCK` | O bölgede o plana ait boşta sunucu yok | `--region <another>` ile dağıtın |
| `the start may or may not have gone through: …` | İstek gitti ve yanıt gelmedi ya da yanıt 5xx, 408 veya 429 idi | Aynı komutu yeniden çalıştırın: aynı isteği gönderir |
| `this purchase, or another of the account's, is still being made …` | İlk istek hâlâ işleniyor ya da hesabın başka bir satın alımı kilidi tutuyor | Kısa süre sonra aynı komutu yeniden çalıştırın: aynı isteği gönderir |
| `… changed in 1Password since this command read it` | Bu arada başka bir makine envanter öğesine yazdı | Komutu yeniden çalıştırın |
| `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` komutlarından) | Hesabın anahtarlarının her biri bu makineden reddedildi: anahtarlar sona ermiş, hesabın aktif paylaşımlı RPC planı yok ya da anahtarlar sunucununki gibi başka adreslerle sınırlı | [ERPC Web Dashboard](https://dashboard.erpc.global/tr) bir anahtarın bitiş tarihini ve planı gösterir ve yeni bir anahtar oluşturur. Sunucunun adresiyle sınırlı bir anahtar için: `erpc worker secret put ERPC_API_KEY`, değeri yazarak ya da pipe ile vererek |
| `shared: … HTTP 401` (bench) | Paylaşımlı RPC anahtarı reddetti: aktif paylaşımlı RPC planı yok ya da anahtar yanlış | Planı Dashboard'da kontrol edin ya da `ERPC_API_KEY` ayarlayın |
| `shared: … HTTP 429` (bench) | Planın hız sınırı | `--interval 150` veya daha fazlasını kullanın |

### erpc'nin kayda geçiremediği bir satın alma

Bir sunucu ya da hat, erpc'nin kayda geçiremediği daha önceki bir istekle başlatılmış olabilirse, Dashboard'da hesabınızın sunucularına ve hatlarına bakın. Bir sunucuyu `erpc worker deploy --vps <ID>` ile devralın ya da istenmeyeni sonlandırın. Ardından `[env.<name>.starting]` içindeki girdiyi `erpc.toml` dosyasından elle kaldırın: erpc'de onu çıkaran bir bayrak yoktur ve o zamana kadar aynı komut aynı isteği gönderir.

## Sunucu ele geçirilmiş olabilirse

1. Sunucunun yedekleme erişim anahtarını iptal etmek için önce `erpc worker backup off` çalıştırın. `off`, sunucunun zaten okuduğu şeyi geri almaz.
2. Fonları sunucunun trading anahtarından başka yere taşıyın ve gizli değerlerini değiştirin.
3. Sunucuyu [ERPC Web Dashboard](https://dashboard.erpc.global/tr) üzerinden yeniden kurun ve yeniden dağıtın.

Yeniden kurulum sunucunun SSH host anahtarını değiştirdiyse, siz sabitlenmiş anahtarı güncelleyene kadar erpc sunucuyu reddeder. Bir dağıtım kodu geri getirir, uygulamanın durum verisini değil; onu yalnızca bir yedek geri yükleyebilir ([Uygulamanın durum verisini yedekleme](https://erpc.global/tr/doc/erpc-cli/worker-status-and-billing/#uygulamanın-durum-verisini-yedekleme)).

## erpc'nin asla yapmadıkları

- Bir anahtarı, bir gizli değeri ya da bunlardan birini taşıyan bir URL'yi komut satırına koymak.
- Bir trading anahtarını ya da bir uygulamanın gizli değerini bir dosyaya yazmak; tek bir istisnayla: makinenizdeki keystore'u; orada her biri parola ifadenizle şifrelenir. Bir sunucuda `erpc worker backup on`, sunucunun kendi yedekleme anahtarlarını yalnızca root'un erişebildiği bir dosyada bırakır.
- Fiyatını göstermeden herhangi bir şeyi başlatmak.
- Bir sunucuyu açık bırakmak: güvenlik duvarı, uygulama ilk kez başlamadan önce devrededir.
- Host anahtarı sabitlenmiş anahtarla eşleşmeyen bir sunucuya bağlanmak.

[Worker kılavuzu](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/worker.md), WAF'ınkiler dahil her mesajı listeler.
