---
title: "Soluciona un fallo de erpc worker"
description: "Los mensajes de error de erpc worker más habituales, qué significa cada uno y qué hacer, cómo recuperar un servidor quizá comprometido y lo que erpc nunca hace."
canonical: "https://erpc.global/es/doc/erpc-cli/worker-troubleshooting/"
locale: "es"
---

# Soluciona un fallo de erpc worker

Busca el comienzo del mensaje que imprimió `erpc worker` y haz lo que dice su fila.

Esta página describe ERPC CLI `v0.1.0-rc.4`, una versión preliminar.

## Mensajes de error y qué hacer

Los fallos de worker usan los códigos y estados de salida de erpc: consulta [Errores y códigos de salida](https://erpc.global/es/doc/erpc-cli/commands/#errores-y-códigos-de-salida).

| Mensaje (su comienzo) | Por qué | Qué hacer |
| --- | --- | --- |
| `<app> cannot start without <SETTING>` | `run.requires` nombra un ajuste que nada establece | `erpc worker secret put <SETTING>`, establécelo en `[vars]` o despliega con la línea que lo establece (`--grpc`, `--unlimited`) |
| `your key was added but does not get in` | El agente SSH no firmó: 1Password estaba bloqueado o su solicitud no se permitió | Desbloquea 1Password, permite la solicitud y vuelve a ejecutar el mismo comando. Continúa por donde iba |
| `1Password could not …: authorization timeout` | 1Password pidió aprobación y nadie respondió | Permite la solicitud en 1Password y vuelve a ejecutarlo |
| `<NAME> is empty; nothing was kept` | `secret put` leyó una entrada estándar vacía: el shell no es un terminal | Ejecútalo en un terminal o pasa el valor por una tubería |
| `the keystore is locked, and nobody is at a terminal …` | Un comando sin terminal necesita el keystore y no hay ningún desbloqueo guardado | `erpc worker secret unlock` en un terminal y, después, vuelve a ejecutar el comando |
| `nothing is kept under keystore:… on this machine` | El valor se guardó en el keystore de otra máquina | `erpc worker secret put <NAME> --replace` aquí; para la clave, trae el directorio `keystore` completo de esa máquina y su frase de contraseña |
| `release <id> failed: …; the server went back to <previous>` | La release nueva no pasó su comprobación de salud | Consulta `erpc worker logs`. La release anterior sigue en ejecución |
| `… is locked: the trading key has not been handed over` | El servidor se reinició, el agente falló o fue terminado y systemd lo volvió a iniciar, o se usó `stop --lock` | `erpc worker start` |
| `port <n> is taken: …` | Otro worker que se mantiene en ejecución tiene el mismo puerto de la comprobación de salud, u otro programa escucha en él | Da a la aplicación un puerto propio en `erpc.toml` y vuelve a desplegar |
| `release <id> runs, and its WAF did not come up: …` | El WAF no empezó a escuchar. Lo más habitual es que otro programa esté en `waf.port` | `erpc worker logs --waf`; después, libera el puerto o cambia `waf.port`, y vuelve a desplegar. Mientras tanto, la aplicación sigue en ejecución |
| `waf.<key> …` (de `check`, `deploy`) | Una clave de `[waf]` está fuera de sus límites, o `waf.port` es inferior a 1024 o coincide con el de `run.port`, el de SSH o el de la comprobación de salud | Corrige `erpc.toml`. `erpc worker check` enumera todos los problemas a la vez |
| `the WAF's port <port> was not opened to …` (de `firewall allow`, `deny`, `sync`) | El cambio dejaría entrar a alguien nuevo con reglas del WAF que el servidor todavía no aplica | `erpc worker deploy`: deja aplicadas las reglas nuevas y, después, abre el puerto |
| `<kind> line <id> did not become active in <n> minutes` | La línea todavía se está configurando | Vuelve a desplegar para esperar más |
| `OUT_OF_STOCK` | No hay ningún servidor libre de ese plan en esa región | Despliega con `--region <another>` |
| `the start may or may not have gone through: …` | La solicitud salió y no volvió ninguna respuesta, o la respuesta fue 5xx, 408 o 429 | Vuelve a ejecutar el mismo comando: envía la misma solicitud |
| `this purchase, or another of the account's, is still being made …` | La primera solicitud sigue en curso, u otra compra de la cuenta tiene su bloqueo | Vuelve a ejecutar el mismo comando en breve: envía la misma solicitud |
| `… changed in 1Password since this command read it` | Otra máquina escribió mientras tanto el elemento del inventario | Vuelve a ejecutar el comando |
| `the shared RPC takes none of the account's API keys from this machine (<n> tried)` (de `secret put --from-account`, `erpc rpc call`, `erpc webhook run`) | Todas las claves de la cuenta se rechazaron desde esta máquina: las claves han finalizado, la cuenta no tiene ningún plan de RPC compartido activo o las claves están limitadas a otras direcciones, como la de un servidor | El [ERPC Web Dashboard](https://dashboard.erpc.global/es) muestra la fecha de finalización de una clave y el plan, y crea una clave nueva. Para una clave limitada a la dirección del servidor: `erpc worker secret put ERPC_API_KEY`, escrita o pasada por una tubería |
| `shared: … HTTP 401` (bench) | El RPC compartido rechazó la clave: no hay ningún plan de RPC compartido activo, o la clave es incorrecta | Comprueba el plan en el dashboard, o establece `ERPC_API_KEY` |
| `shared: … HTTP 429` (bench) | El límite de solicitudes del plan | Usa `--interval 150` o más |

### Una compra que erpc no puede registrar

Cuando un servidor o una línea puede haberse iniciado con una solicitud anterior que erpc no pudo registrar, revisa en el dashboard los servidores y las líneas de tu cuenta. Retoma un servidor con `erpc worker deploy --vps <ID>`, o finaliza lo que no quieras. Después, quita a mano la entrada de `[env.<name>.starting]` en `erpc.toml`: erpc no tiene ninguna opción que la quite, y hasta entonces el mismo comando envía la misma solicitud.

## Si el servidor puede haber sido comprometido

1. Ejecuta primero `erpc worker backup off` para revocar la clave de acceso de copia de seguridad del servidor. `off` no deshace lo que el servidor ya leyó.
2. Saca los fondos de su clave de trading y sustituye sus secretos.
3. Reconstruye el servidor desde el [ERPC Web Dashboard](https://dashboard.erpc.global/es) y vuelve a desplegar.

Si la reconstrucción cambió la clave de host SSH del servidor, erpc rechaza el servidor hasta que actualices la clave fijada. Un despliegue recupera el código, no los datos de estado de la aplicación, que solo una copia de seguridad puede restaurar ([Hacer una copia de seguridad de los datos de estado de la aplicación](https://erpc.global/es/doc/erpc-cli/worker-status-and-billing/#hacer-una-copia-de-seguridad-de-los-datos-de-estado-de-la-aplicación)).

## Lo que erpc nunca hace

- Poner en una línea de comandos una clave, un secreto o una URL que contenga alguno de ellos.
- Escribir en un archivo una clave de trading o un secreto de una aplicación, con una excepción: su keystore en tu máquina, donde cada uno se cifra con tu frase de contraseña. En un servidor, `erpc worker backup on` deja las claves de copia de seguridad propias del servidor en un archivo al que solo puede acceder root.
- Iniciar algo sin mostrar su precio.
- Dejar un servidor abierto: el firewall está activo antes de que la aplicación arranque por primera vez.
- Conectarse a un servidor cuya clave de host no coincide con la fijada.

[La guía del worker](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/worker.md) enumera todos los mensajes, incluidos los del WAF.
