---
title: "erpc worker ile bir uygulamayı çalıştırın, izleyin ve ödemesini yapın"
description: "Uygulama çalışıyor mu, saatte kaça mal oluyor görün; release geri alın, sunucudan RPC gecikmesini ölçün, durum verisini yedekleyin, saatlik ücretlere son verin."
canonical: "https://erpc.global/tr/doc/erpc-cli/worker-status-and-billing/"
locale: "tr"
---

# erpc worker ile bir uygulamayı çalıştırın, izleyin ve ödemesini yapın

`erpc worker status`, uygulamanızın çalışıp çalışmadığını ve saatlik maliyetini gösterir. Her başlatma önce fiyatını gösterir ve `erpc worker delete --release-server`, uygulamanın saatlik olarak kullandığı gRPC, Shreds ve Unlimited RPC'yi, ardından saatlik sunucusunu sonlandırır.

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

## Bir uygulamayı kontrol etme

```text
$ erpc worker status --env prod
api-prod on 203.0.113.10: running, release 20261101T093000Z-1a2b3c4d, pid 4217, up 2h 14m
  current 20261101T093000Z-1a2b3c4d, previous 20261028T171500Z-9f8e7d6c, 2 releases kept
  WAF: listening on port 8080, forwarding to 127.0.0.1:3000, since 2026-11-01T09:30:12Z; requests 5120, forwarded 5043, blocked 71, connections refused 12, app errors 6, addresses banned now 1
  `erpc worker delete --release-server --env prod` ends what this app is charged for.
```

`status`, uygulamanın kilitli mi yoksa çalışıyor mu olduğunu, hangi release'te olduğunu ve ne zamandan beri öyle olduğunu gösterir. Oturum açmışsanız ortamın saatlik maliyetini de gösterir: her kalemi, hesabınızdan onun için alınan fiyatla birlikte; ayrıca hesabınızın kredisini ve ne kadar yeteceğini. `--json` aynı bilgiyi `hourly.charged` altında taşır.

Hesabın ücretleri arasında bulunmayan bir kalem için sonlandırıldığı söylenmez, ücretler arasında olmadığı söylenir; çünkü bu liste bir başlatmanın bir dakika gerisinde kalabilir. Oturum yoksa ya da hesabınızın ücretleri okunamıyorsa `status` kayıtta olanı söyler.

## Uygulamayı yönetme

| Komut | Ne yapar |
| --- | --- |
| `erpc worker logs -n 200`, `logs -f` | Uygulamanın ve ajanın logu. Bir satırdaki kontrol karakteri `?` olarak yazdırılır |
| `erpc worker start` | Uygulamayı çalıştırır; worker kilitliyse anahtarı gönderir |
| `erpc worker stop`, `stop --lock` | Uygulamayı durdurur; `--lock` ayrıca anahtarı bellekten atar |
| `erpc worker restart` | Uygulamayı durdurup yeniden başlatır |
| `erpc worker releases` | Sunucuda tutulan release'ler (`deploy.keep_releases`) |
| `erpc worker rollback`, `rollback --to <release>` | Önceki release'e ya da adı verilen release'e geri döner. O release'in sağlık kontrolü bağlantı noktası artık çalışan başka bir worker'a aitse reddedilir ve kullanımdaki release olduğu gibi bırakılır |
| `erpc worker api <PATH>` | Uygulamanın API'sini bu makineden okur; API sunucunun loopback'inde kalır (değişiklik için `-X POST`, `-d '{...}'`) |
| `erpc worker trades [--profit]` | Uygulamanın kendi sunucusundaki alım satım işlemleri |
| `erpc worker list` | Bu makinedeki uygulamalar ve her birinin nereye dağıtıldığı; `--prune`, `erpc.toml` dosyası artık bulunmayanları listeden çıkarır |

Uygulamanın `API_TOKEN` değeri burada okunur ve sunucuya standart girdi üzerinden ulaşır; hiçbir komut satırında ve hiçbir journal'da yer almaz. Her worker komutu `--env <name>` (varsayılan `default`) ve `--json` alır; tek istisna, bir uygulamayla değil bu makinenin keystore'uyla ilgili olan `secret unlock` ve `secret lock` komutlarıdır, bunlar `--env` almaz. Herhangi bir yerden çalıştırılan bir komut, uygulamasını erpc'nin onu bildiği adla bulur; `secret put`, `secret rm`, `key import`, `firewall allow` ve `firewall deny` ise uygulamayı yalnızca `--dir` ile alır.

## Saatlik ücretler nasıl işler

- **Her başlatma önce fiyatını gösterir.** Terminalde bir başlatma ancak evet yanıtından sonra gerçekleşir; `--yes` ile, neyin başlatılacağını belirten komut satırının kendisi evet yerine geçer.
- **Saatlik bir ürün ERPC Credit ile ödenir**; ERPC Credit önceden satın alınır ve kredinin karşılamadığı bir başlatma reddedilir. Fiyatlar [Fiyatlandırma](https://erpc.global/tr/price/) sayfasında ve [ERPC Web Dashboard](https://dashboard.erpc.global/tr) üzerinde yer alır.
- **Yeni bir VPS, adı belirlendiği anda kayda geçer,** henüz hazır olmadan. Bir sonraki dağıtım başka bir tane satın almak yerine onu devralır.
- **`deploy` için, yanıt alamayan bir başlatma yeniden gönderilir, asla yeni bir başlatma olarak değil.** İstek anahtarı kayıtta kalır (`[env.<name>.starting]`), böylece aynı komutu yeniden çalıştırmak aynı isteği gönderir. Bazı yanıtlardan sonra siz elle kaldırana kadar kayıtta kalır ([erpc'nin kayda geçiremediği bir satın alma](https://erpc.global/tr/doc/erpc-cli/worker-troubleshooting/#erpcnin-kayda-geçiremediği-bir-satın-alma)). `erpc worker run` kayıt tutmaz, bu yüzden bir sonraki çalıştırması yeni bir istek yapar.
- **Ortamları birer birer dağıtın.** Aynı ortamın aynı anda başlatılan iki dağıtımı iki tane satın alabilir ve bu desteklenmez.
- **Bir hattın hâlâ var olup olmadığına, hesaptan ne için ücret alındığına bakılarak karar verilir.** Saatlik faturalandırılmayan bir hat erpc tarafından asla sonlandırılmaz: onu Dashboard'da sonlandırın.

## Bir uygulamayı kaldırma

`erpc worker delete` worker'ı kaldırır. `erpc worker delete --release-server` ayrıca hatlarını, ardından saatlik sunucusunu sonlandırır. Sonlandırılamayan şey kayıtta kalır ve saatlik faturalandırılmayan bir hat, Dashboard'da sonlandırılmak üzere adıyla belirtilir.

- Seçeneksiz bir silme, satın alınmış ama hiç ulaşılmamış bir VPS'i reddeder, çünkü ücret alınmaya devam ederken onu unutmuş olurdu. Ulaşılmış saatlik bir VPS'in seçeneksiz silinmesi ise onu hâlâ ücret alınırken kayıttan çıkarır ve bu konuda uyarır.
- `--forget`, artık ulaşılamayan bir sunucuya ulaşmaya çalışmaz; `--forget-line <id>` ise erpc dışında sonlandırılmış bir hattı kayıttan çıkarır.

## Sunucudan RPC gecikmesini ölçme

`erpc worker bench`, RPC çağrılarının süresini ortamın sunucusundan ölçer: ERPC'nin paylaşımlı RPC'si, Unlimited RPC'si ve diğer herhangi biri yan yana. Her çağrının süresini sunucudaki ajan ölçer, bu yüzden sayılar uygulamanın aldığı değerlerdir.

```bash
erpc worker bench                                  # getSlot: shared RPC vs the Unlimited RPC
erpc worker bench --rounds 300 --interval 150      # for a plan that limits calls per second
erpc worker bench --url other=op://<vault-id>/<item-id>/url   # another provider's RPC
```

- `--method`; `getSlot`, `getBlockHeight`, `getLatestBlockhash` veya `getHealth` alır.
- `--no-shared` paylaşımlı RPC'yi dışarıda bırakır. Bir `--url` değeri URL'nin kendisi, bir `op://…`, `keychain:…` veya `keystore:…` referansı (içinde anahtar bulunan bir URL'nin saklandığı yeri gösterir; asla trading anahtarının kaydını göstermez, bu reddedilir) ya da `-` (standart girdiden okunur veya ekranda görünmeden yazılması istenir) olabilir. Altıdan fazla endpoint reddedilir.
- Bench; p50, p90, p99, min ve max değerlerini, başarısız çağrıları ilk nedenle birlikte ve her yanıtın aynı turdaki en güncel yanıttan kaç slot geride olduğunu yazdırır.
- Anahtarlar sunucuya yalnızca standart girdi üzerinden ulaşır ve tablo şema, host ve bağlantı noktasını gösterir.

## Uygulamanın durum verisini yedekleme

`erpc worker backup on`, uygulamanın durum verisini her gün restic ile şifreleyerek ERPC Global Storage'a yedekler; sunucunun saatine göre `--at` zamanında ve sonraki 30 dakika içinde. Bir depolama planı gerekir (`erpc storage buy 5`).

- **Yedeklenen şey** uygulamanın durum verisidir, `/var/lib/private/erpc-worker-<id>`. Release'ler yedeklenmez, çünkü bir dağıtım onları geri koyar. Redis ve PostgreSQL verileri kapsanmaz.
- **Sunucu snapshot'ları silemez.** erpc oturumunu, hesabın yönetici anahtarını veya ana parolasını asla tutmaz.
- **Ele geçirilmiş bir sunucu ise** hesaptaki her makinenin snapshot'larını, bu makineninkiler dahil, okuyabilir; restic'in asla değiştirmediği depo anahtarını `off` sonrasında da elinde tutabilir; başka bir makinenin adı altında snapshot ekleyebilir, bu yüzden böyle bir durumdan sonra `restore latest` komutunun neyi seçtiğini kontrol edin; ve hesabın depolamasını doldurabilir, bu da her makinenin yedeklemelerini durdurur. `erpc worker backup off`, sunucu yanıt verse de vermese de önce sunucunun erişim anahtarını iptal eder.
- **restic dosyaları olduğu gibi kopyalar**, worker çalışırken; bu yüzden bir veritabanının tutarlı biçimde geri yüklenmesi için kendi dump'ı gerekebilir. Sunucu kapalıyken kaçırılan bir çalıştırma, sunucu geri geldiğinde çalışır.
- `erpc worker backup off`, `status` ve `now` sırasıyla yedeklemeyi durdurur, durumunu raporlar ve çalıştırır. Snapshot'lar `off` sonrasında da kalır ve `erpc backup prune --host` eskilerini seyreltir.

Bu makinede `erpc backup init` çalıştırdıktan sonra, geri yüklemeyi bu makineden yapın:

```bash
erpc backup restore latest --from-host erpc-worker-<id>-<tag> --path /var/lib/private/erpc-worker-<id> --target ./restored
```

## Birden fazla ortam ve makine

- Bir sunucudaki birden fazla worker'ın her biri kendi birimi olarak çalışır, sunucunun güvenlik duvarı tablosunu paylaşır ve her biri yalnızca kendi bağlantı noktasını açar.
- Bir uygulamanın birden fazla ortamı olabilir (`[env.staging]`, `[env.prod]`); her birinin kendi sunucusu ve hatları vardır.
- Bir ortam, sunucu bilgilerini `erpc.toml` yerine 1Password'de tutabilir. O zaman o kasada oturum açmış ve uygulamanın deposuna sahip herhangi bir makine her komutu çalıştırabilir; böyle bir uygulamadaki `keychain:` ve `keystore:` referansları için uyarı verilir, çünkü başka bir makine onları okuyamaz. `erpc login` oturumu orada tuttuğunda yeni bir ortam bilgilerini 1Password'de tutar; `deploy --vault <vault-id>` başka bir kasayı belirtir, `deploy --inline` ise bilgileri `erpc.toml` içinde tutar.
