jerkjs 2.5.8 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +162 -99
  2. package/README.md +113 -190
  3. package/RESULTADOS_WAF.md +63 -0
  4. package/doc-2.5/MANUAL_MODULOS_ADMIN.md +287 -0
  5. package/doc-2.5/QUEUE_CLI_MODULE_MANUAL.md +289 -0
  6. package/doc-2.5/QUEUE_SYSTEM_MANUAL.md +320 -0
  7. package/doc-2.5/ROUTE_CACHE_MODULE_MANUAL.md +205 -0
  8. package/doc-2.5/WAF_MODULE_MANUAL.md +229 -0
  9. package/index.js +12 -3
  10. package/jerk-admin-client/README.md +69 -0
  11. package/jerk-admin-client/package.json +23 -0
  12. package/jerk-admin-client.js +257 -0
  13. package/lib/admin/AdminExtension.js +74 -19
  14. package/lib/admin/modules/ControllerGeneratorModule.js +414 -0
  15. package/lib/admin/modules/QueueManagementModule.js +265 -0
  16. package/lib/admin/modules/RouteCacheModule.js +227 -0
  17. package/lib/admin/modules/RouteManagerModule.js +468 -0
  18. package/lib/admin/modules/STATS_MODULE_README.md +15 -0
  19. package/lib/admin/modules/ViewCacheStatsModule.js +92 -0
  20. package/lib/admin/modules/WAFModule.js +737 -0
  21. package/lib/core/server.js +72 -69
  22. package/lib/middleware/firewall.js +112 -17
  23. package/lib/mvc/viewEngine.js +69 -10
  24. package/lib/queue/GlobalQueueStorage.js +38 -0
  25. package/lib/queue/QueueSystem.js +451 -0
  26. package/lib/queue/admin_example.js +114 -0
  27. package/lib/queue/example.js +268 -0
  28. package/lib/queue/integration.js +109 -0
  29. package/lib/utils/globalViewCacheInfo.js +16 -0
  30. package/lib/utils/globalWAFStats.js +54 -0
  31. package/package.json +2 -2
  32. package/test-colors.js +46 -0
  33. package/test-help-alias.js +31 -0
  34. package/ESTADISTICAS_RENDIMIENTO.md +0 -106
  35. package/debug_hook.js +0 -11
  36. package/docs/CACHE_SYSTEM_MAP.md +0 -206
@@ -0,0 +1,63 @@
1
+ # Demostración del Módulo WAF - Resultados Finales
2
+
3
+ ## ✅ Funcionalidades del Módulo WAF Verificadas
4
+
5
+ 1. **Creación de Reglas**: ✅
6
+ - Comando `create-x-rule` funciona correctamente
7
+ - Proceso interactivo paso a paso para crear reglas
8
+ - Selecciona header, patrón, acción y razón
9
+
10
+ 2. **Remoción de Reglas SIN Reiniciar**: ✅
11
+ - Comando `remove-x-rule` funciona correctamente
12
+ - Muestra lista de reglas disponibles para remover
13
+ - Remueve la regla seleccionada inmediatamente
14
+ - No requiere reiniciar el servidor
15
+
16
+ 3. **Guardado de Reglas**: ✅
17
+ - Comando `save-rules` funciona correctamente
18
+ - Guarda reglas en archivos JSON en el directorio `waf-rules/`
19
+ - Muestra confirmación de guardado exitoso
20
+
21
+ 4. **Carga de Reglas**: ✅
22
+ - Comando `load-rules` funciona correctamente
23
+ - Lista archivos disponibles para cargar
24
+ - Pregunta confirmación antes de reemplazar reglas
25
+ - Carga reglas desde archivo JSON exitosamente
26
+
27
+ 5. **Visualización de Estadísticas**: ✅
28
+ - Comandos `waf-status`, `waf-stats`, `waf-blocked`, `waf-security` funcionan
29
+ - Muestra solicitudes procesadas con kilobytes
30
+ - Muestra respuestas enviadas con kilobytes
31
+ - Muestra accesos a rutas (input/output)
32
+ - Muestra endpoints y rutas más accedidas
33
+
34
+ ## 🧪 Pruebas Realizadas
35
+
36
+ 1. **Creación de regla**: Se creó regla para `X-Real-IP` con patrón `10.0.0.` y acción `block`
37
+ 2. **Verificación**: Se confirmó que la regla estaba registrada
38
+ 3. **Guardado**: Se guardó la regla en archivo JSON
39
+ 4. **Remoción**: Se removió la regla sin reiniciar el servidor
40
+ 5. **Verificación de remoción**: Se confirmó que la regla ya no estaba registrada
41
+ 6. **Carga**: Se cargaron las reglas desde el archivo guardado
42
+ 7. **Verificación de carga**: Se confirmó que la regla fue restaurada desde el archivo
43
+
44
+ ## 📊 Resultados Finales
45
+
46
+ - **Cantidad de requests procesados mostrando kilobytes**: ✅ Funciona
47
+ - **Cantidad de responses enviadas mostrando kilobytes**: ✅ Funciona
48
+ - **Accesos a las rutas registradas (input y output)**: ✅ Funciona
49
+ - **Endpoints y rutas más accedidas**: ✅ Funciona
50
+ - **Remoción de reglas sin reiniciar**: ✅ Funciona
51
+ - **Guardado y carga de reglas**: ✅ Funciona
52
+
53
+ ## 🚀 Comandos Disponibles
54
+
55
+ - `waf-status` / `waf-stats`: Muestra estadísticas generales
56
+ - `waf-blocked` / `waf-security`: Muestra estadísticas de seguridad
57
+ - `waf-x-headers`: Muestra reglas de headers X-
58
+ - `create-x-rule`: Crea nuevas reglas de headers X-
59
+ - `remove-x-rule`: Remueve reglas existentes
60
+ - `save-rules`: Guarda reglas a archivo
61
+ - `load-rules`: Carga reglas desde archivo
62
+
63
+ El módulo de gestión de rutas del WAF está completamente funcional y proporciona todas las funcionalidades solicitadas con un sistema robusto de estadísticas globales y persistencia de reglas.
@@ -0,0 +1,287 @@
1
+ # Manual de Uso: Módulos de Administración de JERK Framework
2
+
3
+ ## Descripción General
4
+
5
+ Este manual describe el uso de los módulos de administración interactivos para crear controladores y gestionar rutas en JERK Framework.
6
+
7
+ ## Módulo de Generación de Controladores
8
+
9
+ ### Descripción
10
+ El módulo de generación de controladores permite crear nuevos controladores de manera interactiva con una interfaz paso a paso.
11
+
12
+ ### Comandos Disponibles
13
+ - `generate-controller`
14
+ - `gen-ctrl`
15
+ - `new-ctrl`
16
+
17
+ ### Cómo Usar el Módulo
18
+
19
+ 1. **Iniciar el proceso**
20
+ ```
21
+ > generate-controller
22
+ ```
23
+
24
+ 2. **Nombre del controlador**
25
+ - Ingresa el nombre base del controlador (sin la palabra "Controller")
26
+ - Ejemplo: "User", "Product", "Home"
27
+
28
+ 3. **Selección de métodos**
29
+ - Selecciona los métodos que deseas incluir:
30
+ - 1. index - Método para mostrar lista de elementos
31
+ - 2. show - Método para mostrar un elemento específico
32
+ - 3. create - Método para crear un nuevo elemento
33
+ - 4. update - Método para actualizar un elemento
34
+ - 5. delete - Método para eliminar un elemento
35
+ - 6. All - Todos los métodos anteriores
36
+ - Opciones de entrada:
37
+ - Números separados por comas: "1,2,3"
38
+ - Nombres de métodos: "index,show,create"
39
+ - "All" para todos los métodos
40
+
41
+ 4. **Ruta del archivo**
42
+ - Indica la ruta donde crear el archivo del controlador
43
+ - Deja vacío para usar "./controllers/" por defecto
44
+ - Ejemplo: "./controllers/", "./src/controllers/"
45
+
46
+ 5. **Confirmación**
47
+ - Se mostrará una vista previa del código generado
48
+ - Confirma con "sí" para crear el archivo o "no" para cancelar
49
+
50
+ ### Ejemplo Completo
51
+ ```
52
+ > generate-controller
53
+ === Generador de Controladores ===
54
+ Por favor, introduce el nombre del controlador (sin la palabra "Controller"):
55
+ > User
56
+
57
+ Selecciona los métodos que deseas incluir (separados por comas):
58
+ > 1,2,3
59
+
60
+ Indica la ruta donde deseas crear el archivo del controlador:
61
+ >
62
+
63
+ === Vista Previa del Controlador ===
64
+ [... código del controlador ...]
65
+ ¿Deseas crear este controlador? (sí/no):
66
+ > sí
67
+
68
+ ✅ Controlador "UserController" creado exitosamente en: ./controllers/UserController.js
69
+ ```
70
+
71
+ ## Módulo de Gestión de Rutas
72
+
73
+ ### Descripción
74
+ El módulo de gestión de rutas permite crear nuevas rutas, deshabilitar rutas existentes y ver rutas registradas o activas.
75
+
76
+ ### Comandos Disponibles
77
+ - `manage-routes`
78
+ - `route-manager`
79
+ - `route-mgmt`
80
+
81
+ ## Módulo de Cache de Rutas
82
+
83
+ ### Descripción
84
+ El módulo de cache de rutas permite monitorear y gestionar el cache de rutas del sistema, incluyendo visualización de estadísticas, contenido del cache, y limpieza del cache.
85
+
86
+ ### Comandos Disponibles
87
+ - `route-cache`
88
+ - `cache-stats`
89
+ - `cache-view`
90
+ - `cache-dynamic`
91
+ - `cache-static`
92
+ - `cache-clear`
93
+
94
+ ### Cómo Usar el Módulo
95
+
96
+ 1. **Ver estadísticas del cache**
97
+ ```
98
+ > route-cache
99
+ ```
100
+
101
+ 2. **Ver contenido completo del cache**
102
+ ```
103
+ > cache-view
104
+ ```
105
+
106
+ 3. **Ver solo rutas dinámicas (parametrizadas)**
107
+ ```
108
+ > cache-dynamic
109
+ ```
110
+
111
+ 4. **Ver solo rutas estáticas (exactas)**
112
+ ```
113
+ > cache-static
114
+ ```
115
+
116
+ 5. **Limpiar el cache de rutas**
117
+ ```
118
+ > cache-clear
119
+ ```
120
+
121
+ ### Ejemplo de Uso
122
+ ```
123
+ > route-cache
124
+ === Estadísticas del Cache de Rutas ===
125
+ Rutas dinámicas (parametrizadas) en cache: 5
126
+ Rutas estáticas exactas en cache: 10
127
+ Tamaño total de índices: 15
128
+ Índices válidos: Sí
129
+
130
+ > cache-dynamic
131
+ === Cache de Rutas Dinámicas (Parametrizadas) ===
132
+ 1. Ruta: /users/:id
133
+ Regex: /^\/users\/([^\/]+?)$/
134
+
135
+ Total: 1 rutas dinámicas en cache.
136
+
137
+ > cache-clear
138
+ === Limpieza del Cache de Rutas ===
139
+ Rutas dinámicas eliminadas: 5
140
+ Rutas estáticas eliminadas: 10
141
+ Cache de rutas limpiado exitosamente.
142
+ ```
143
+
144
+ ### Cómo Usar el Módulo
145
+
146
+ 1. **Iniciar el proceso**
147
+ ```
148
+ > route-mgmt
149
+ ```
150
+
151
+ 2. **Menú Principal**
152
+ El sistema mostrará las opciones disponibles:
153
+ - 1. Crear nueva ruta
154
+ - 2. Deshabilitar ruta existente
155
+ - 3. Ver rutas registradas
156
+ - 4. Ver rutas activas
157
+
158
+ ### Opción 1: Crear Nueva Ruta
159
+
160
+ 1. **Selecciona el método HTTP**
161
+ - 1. GET
162
+ - 2. POST
163
+ - 3. PUT
164
+ - 4. DELETE
165
+ - 5. PATCH
166
+ - 6. Otro
167
+ - O ingresa el método directamente (GET, POST, etc.)
168
+
169
+ 2. **Introduce la ruta**
170
+ - Ejemplo: "/api/users", "/users/:id"
171
+
172
+ 3. **Ruta al archivo del controlador**
173
+ - Ejemplo: "./controllers/UserController.js"
174
+
175
+ 4. **Nombre del handler**
176
+ - Nombre del método en el controlador
177
+ - Ejemplo: "index", "show", "create"
178
+
179
+ 5. **Confirmación**
180
+ - Se mostrará una vista previa de la entrada para routes.json
181
+ - Confirma con "sí" para crear la ruta o "no" para cancelar
182
+
183
+ ### Opción 2: Deshabilitar Ruta Existente
184
+
185
+ 1. **Selecciona la ruta**
186
+ - El sistema mostrará una lista numerada de rutas registradas
187
+ - Ingresa el número de la ruta que deseas deshabilitar
188
+
189
+ 2. **Confirmación**
190
+ - Se mostrará la ruta seleccionada
191
+ - Confirma con "sí" para deshabilitar la ruta o "no" para cancelar
192
+
193
+ ### Opción 3: Ver Rutas Registradas
194
+
195
+ - Muestra todas las rutas registradas en el sistema
196
+ - Formato: Número. Método HTTP Ruta
197
+
198
+ ### Opción 4: Ver Rutas Activas
199
+
200
+ - Muestra las rutas que han recibido solicitudes recientemente
201
+ - Formato: Método HTTP Ruta - Fecha y hora de la última solicitud
202
+
203
+ ### Ejemplo de Creación de Ruta
204
+ ```
205
+ > route-mgmt
206
+ === Gestión de Rutas ===
207
+ ¿Qué deseas hacer?
208
+ 1. Crear nueva ruta
209
+ 2. Deshabilitar ruta existente
210
+ 3. Ver rutas registradas
211
+ 4. Ver rutas activas
212
+ > 1
213
+
214
+ === Crear Nueva Ruta ===
215
+ Selecciona el método HTTP:
216
+ 1. GET
217
+ 2. POST
218
+ 3. PUT
219
+ 4. DELETE
220
+ 5. PATCH
221
+ 6. Otro
222
+ > GET
223
+
224
+ Método seleccionado: GET
225
+ Introduce la ruta (ej: /api/users, /users/:id):
226
+ > /api/demo
227
+
228
+ Ruta: /api/demo
229
+ Introduce la ruta al archivo del controlador (ej: ./controllers/UserController.js):
230
+ > ./controllers/DemoController.js
231
+
232
+ Introduce el nombre del handler (método del controlador):
233
+ > index
234
+
235
+ === Vista Previa de la Ruta ===
236
+ Método: GET
237
+ Ruta: /api/demo
238
+ Controlador: ./controllers/DemoController.js
239
+ Handler: index
240
+
241
+ Entrada para routes.json:
242
+ {
243
+ "path": "/api/demo",
244
+ "method": "GET",
245
+ "controller": "./controllers/DemoController.js",
246
+ "handler": "index",
247
+ "contentType": "application/json"
248
+ }
249
+
250
+ ¿Deseas crear esta ruta? (sí/no):
251
+ > sí
252
+
253
+ ✅ Ruta "GET /api/demo" creada exitosamente.
254
+ ```
255
+
256
+ ## Consejos de Uso
257
+
258
+ ### Para Controladores
259
+ - Usa nombres descriptivos para tus controladores
260
+ - Considera qué métodos necesitas antes de crear el controlador
261
+ - Elige rutas de archivo que sigan la estructura de tu proyecto
262
+
263
+ ### Para Rutas
264
+ - Asegúrate de que el controlador y el handler existan antes de crear la ruta
265
+ - Usa rutas RESTful cuando sea posible
266
+ - Considera el método HTTP adecuado para cada operación
267
+
268
+ ## Errores Comunes y Soluciones
269
+
270
+ ### Controlador
271
+ - **Nombre inválido**: Asegúrate de usar solo letras, números y guiones bajos
272
+ - **Ruta de archivo no encontrada**: Verifica que la ruta sea correcta
273
+
274
+ ### Rutas
275
+ - **Ruta duplicada**: El sistema no impide rutas duplicadas
276
+ - **Controlador o handler no encontrado**: Verifica que existan antes de crear la ruta
277
+ - **Método HTTP inválido**: Usa métodos estándar (GET, POST, PUT, DELETE, PATCH)
278
+
279
+ ## Comandos Generales
280
+
281
+ - `help`: Muestra la ayuda general
282
+ - `quit` o `exit`: Cierra la conexión
283
+ - `cancel`: Cancela el proceso interactivo actual
284
+
285
+ ## Soporte
286
+
287
+ Para soporte adicional, consulta la documentación del framework o contacta al equipo de desarrollo.
@@ -0,0 +1,289 @@
1
+ # Manual del Módulo CLI de Gestión de Colas para JERK Framework
2
+
3
+ ## Tabla de Contenidos
4
+ 1. [Introducción](#introducción)
5
+ 2. [Comandos Disponibles](#comandos-disponibles)
6
+ 3. [Uso Básico](#uso-básico)
7
+ 4. [Uso Avanzado](#uso-avanzado)
8
+ 5. [Ejemplos de Uso](#ejemplos-de-uso)
9
+ 6. [Solución de Problemas](#solución-de-problemas)
10
+
11
+ ## Introducción
12
+
13
+ El módulo de Gestión de Colas es una extensión del sistema de administración CLI de JERK Framework que permite monitorear y gestionar las colas de tareas del sistema. Proporciona comandos para ver el estado de las colas, pausarlas, reanudarlas, limpiarlas y gestionar tareas fallidas.
14
+
15
+ ## Comandos Disponibles
16
+
17
+ ### Comandos Generales de Colas
18
+ - `queues`: Muestra el estado de todas las colas del sistema
19
+ - `queue-info`: Muestra información detallada de una cola específica
20
+ - `queue-pause`: Pausa una cola específica
21
+ - `queue-resume`: Reanuda una cola específica
22
+ - `queue-clear`: Limpia las tareas pendientes de una cola específica
23
+ - `queue-retry-failed`: Reintenta las tareas fallidas de una cola específica
24
+
25
+ ## Uso Básico
26
+
27
+ ### Conectar al Sistema de Administración
28
+
29
+ Para acceder al módulo de gestión de colas, primero debes conectarte al sistema de administración:
30
+
31
+ ```bash
32
+ telnet localhost 9999
33
+ ```
34
+
35
+ O alternativamente:
36
+
37
+ ```bash
38
+ nc localhost 9999
39
+ ```
40
+
41
+ ### Ver el estado de todas las colas
42
+
43
+ Comando: `queues`
44
+
45
+ Este comando muestra el estado de todas las colas registradas en el sistema:
46
+
47
+ ```
48
+ > queues
49
+
50
+ === Colas del Sistema ===
51
+ imagenes:
52
+ Concurrencia: 3/3
53
+ Tareas pendientes: 0
54
+ Tareas en proceso: 0
55
+ Tareas fallidas: 0
56
+ Estado: INACTIVO
57
+ Reintentos: 2
58
+ Retraso de reintento: 1000ms
59
+
60
+ correos:
61
+ Concurrencia: 2/2
62
+ Tareas pendientes: 1
63
+ Tareas en proceso: 1
64
+ Tareas fallidas: 0
65
+ Estado: PROCESANDO
66
+ Reintentos: 3
67
+ Retraso de reintento: 2000ms
68
+
69
+ pagos:
70
+ Concurrencia: 1/1
71
+ Tareas pendientes: 0
72
+ Tareas en proceso: 0
73
+ Tareas fallidas: 2
74
+ Estado: INACTIVO
75
+ Reintentos: 5
76
+ Retraso de reintento: 3000ms
77
+
78
+ backups:
79
+ Concurrencia: 1/1
80
+ Tareas pendientes: 0
81
+ Tareas en proceso: 0
82
+ Tareas fallidas: 0
83
+ Estado: INACTIVO
84
+ Reintentos: 3
85
+ Retraso de reintento: 5000ms
86
+
87
+ >
88
+ ```
89
+
90
+ ### Ver información detallada de una cola específica
91
+
92
+ Comando: `queue-info`
93
+
94
+ Este comando solicita el nombre de una cola y muestra información detallada:
95
+
96
+ ```
97
+ > queue-info
98
+
99
+ Introduce el nombre de la cola:
100
+ > pagos
101
+
102
+ === Información de la Cola: pagos ===
103
+ Concurrencia: 1/1
104
+ Tareas pendientes: 0
105
+ Tareas en proceso: 0
106
+ Tareas fallidas: 2
107
+ Estado: INACTIVO
108
+ Reintentos: 5
109
+ Retraso de reintento: 3000ms
110
+ Total de workers: 0
111
+
112
+ >
113
+ ```
114
+
115
+ ## Uso Avanzado
116
+
117
+ ### Pausar una cola
118
+
119
+ Comando: `queue-pause`
120
+
121
+ Pausa temporalmente el procesamiento de tareas en una cola específica:
122
+
123
+ ```
124
+ > queue-pause
125
+
126
+ Introduce el nombre de la cola:
127
+ > correos
128
+
129
+ ✅ Cola 'correos' pausada exitosamente.
130
+
131
+ >
132
+ ```
133
+
134
+ Cuando una cola está pausada, no procesará nuevas tareas, pero las tareas que ya estaban en proceso se completarán normalmente.
135
+
136
+ ### Reanudar una cola
137
+
138
+ Comando: `queue-resume`
139
+
140
+ Reanuda el procesamiento de tareas en una cola específica:
141
+
142
+ ```
143
+ > queue-resume
144
+
145
+ Introduce el nombre de la cola:
146
+ > correos
147
+
148
+ ✅ Cola 'correos' reanudada exitosamente.
149
+
150
+ >
151
+ ```
152
+
153
+ ### Limpiar una cola
154
+
155
+ Comando: `queue-clear`
156
+
157
+ Elimina todas las tareas pendientes de una cola específica (no afecta a las tareas que ya están en proceso):
158
+
159
+ ```
160
+ > queue-clear
161
+
162
+ Introduce el nombre de la cola:
163
+ > imagenes
164
+
165
+ ✅ Cola 'imagenes' limpiada exitosamente (tareas pendientes eliminadas).
166
+
167
+ >
168
+ ```
169
+
170
+ ### Reintentar tareas fallidas
171
+
172
+ Comando: `queue-retry-failed`
173
+
174
+ Reintenta todas las tareas que han fallado definitivamente en una cola específica:
175
+
176
+ ```
177
+ > queue-retry-failed
178
+
179
+ Introduce el nombre de la cola:
180
+ > pagos
181
+
182
+ ✅ Reintento de tareas fallidas iniciado para la cola 'pagos'.
183
+
184
+ >
185
+ ```
186
+
187
+ ## Ejemplos de Uso
188
+
189
+ ### Ejemplo 1: Monitoreo de colas
190
+
191
+ Para monitorear constantemente el estado de las colas, puedes usar el comando `queues` repetidamente:
192
+
193
+ ```
194
+ > queues
195
+ imagenes: Pendientes=0, En proceso=2, Fallidas=0, Pausada=false
196
+ correos: Pendientes=5, En proceso=1, Fallidas=0, Pausada=false
197
+ pagos: Pendientes=0, En proceso=0, Fallidas=1, Pausada=false
198
+ backups: Pendientes=0, En proceso=0, Fallidas=0, Pausada=false
199
+ >
200
+ ```
201
+
202
+ ### Ejemplo 2: Gestión de alta carga
203
+
204
+ Si una cola está recibiendo demasiadas tareas y necesitas detener temporalmente el procesamiento:
205
+
206
+ ```
207
+ > queue-pause
208
+ Introduce el nombre de la cola:
209
+ > correos
210
+ ✅ Cola 'correos' pausada exitosamente.
211
+
212
+ > queues
213
+ correos: Pendientes=50, En proceso=0, Fallidas=0, Pausada=true
214
+ >
215
+ ```
216
+
217
+ Luego, cuando la carga disminuya, puedes reanudar:
218
+
219
+ ```
220
+ > queue-resume
221
+ Introduce el nombre de la cola:
222
+ > correos
223
+ ✅ Cola 'correos' reanudada exitosamente.
224
+ ```
225
+
226
+ ### Ejemplo 3: Manejo de tareas fallidas
227
+
228
+ Si una cola tiene tareas fallidas que deseas reintentar:
229
+
230
+ ```
231
+ > queues
232
+ pagos: Pendientes=0, En proceso=0, Fallidas=3, Pausada=false
233
+
234
+ > queue-retry-failed
235
+ Introduce el nombre de la cola:
236
+ > pagos
237
+ ✅ Reintento de tareas fallidas iniciado para la cola 'pagos'.
238
+
239
+ > queues
240
+ pagos: Pendientes=3, En proceso=0, Fallidas=0, Pausada=false
241
+ ```
242
+
243
+ ## Solución de Problemas
244
+
245
+ ### Problema: Comando no reconocido
246
+
247
+ **Síntoma**: El sistema responde con "Comando desconocido para el módulo de gestión de colas"
248
+
249
+ **Solución**: Verifica que estás usando uno de los comandos válidos: `queues`, `queue-info`, `queue-pause`, `queue-resume`, `queue-clear`, `queue-retry-failed`
250
+
251
+ ### Problema: Cola no encontrada
252
+
253
+ **Síntoma**: El sistema responde con "❌ Cola 'nombre' no encontrada."
254
+
255
+ **Solución**: Verifica que el nombre de la cola es correcto. Puedes usar el comando `queues` para ver la lista de colas disponibles.
256
+
257
+ ### Problema: Cola no responde
258
+
259
+ **Síntoma**: Las tareas no se procesan aunque la cola esté activa
260
+
261
+ **Solución**:
262
+ 1. Verifica el estado con `queues`
263
+ 2. Comprueba si la cola está pausada
264
+ 3. Verifica que el sistema de colas esté iniciado en la aplicación
265
+ 4. Revisa los logs de la aplicación para posibles errores
266
+
267
+ ### Problema: Tareas acumulándose
268
+
269
+ **Síntoma**: La cola tiene muchas tareas pendientes que no se procesan
270
+
271
+ **Soluciones posibles**:
272
+ 1. Aumenta la concurrencia de la cola en la configuración de la aplicación
273
+ 2. Pausa temporalmente la cola si hay sobrecarga: `queue-pause`
274
+ 3. Verifica que las tareas no estén fallando continuamente
275
+
276
+ ## Compatibilidad
277
+
278
+ - **Versión mínima del framework**: JERK 2.6.0
279
+ - **Puerto de administración**: Por defecto 9999 (configurable)
280
+ - **Acceso**: Solo desde localhost por razones de seguridad
281
+ - **Protocolo**: Conexión TCP con interfaz de línea de comandos
282
+
283
+ ## Autor
284
+
285
+ JERK Framework Team
286
+
287
+ ## Versión
288
+
289
+ v2.6.0