Administración/Línea de Comandos

Comando Start

El comando gig start se utiliza para iniciar el servidor Gigantics y todos los servicios relacionados. Este comando inicializa la aplicación y se puede configurar para ejecutarse en varios modos incluyendo modo daemon, con diferentes configuraciones de worker, y con ajustes personalizados para hostname, puerto y registro.

Puedes obtener ayuda detallada para este comando ejecutando:

gig start --help

Uso

gig start [opciones]

Descripción

El comando start inicializa e inicia todos los servicios de Gigantics. Esto incluye el servidor web, workers de tareas y cualquier otro servicio configurado.

Procesos Worker

Gigantics soporta dos tipos de procesos worker para mejorar el rendimiento y manejar operaciones concurrentes:

Web Workers (-w, --web)

Los web workers son procesos worker de Node.js responsables de manejar solicitudes HTTP al servidor web. Por defecto, Gigantics se ejecuta con un único web worker en el proceso principal. Puedes bifurcar procesos worker adicionales para manejar más solicitudes concurrentes y mejorar el rendimiento:

# Bifurcar 4 procesos web worker para mejor concurrencia
gig start -w=4

Cuando se utilizan web workers, cada proceso worker maneja las solicitudes entrantes de manera independiente. Esto es particularmente útil en entornos de producción con cargas de tráfico altas.

Job Workers (-j, --job)

Los job workers son procesos worker de Node.js que manejan tareas en segundo plano y operaciones asíncronas dentro de Gigantics. Estos workers procesan tareas de la cola de trabajos, como enviar correos electrónicos, procesar archivos o realizar mantenimiento de base de datos:

# Bifurcar 6 procesos job worker para procesamiento en segundo plano
gig start -j=6

Los job workers son esenciales para mantener una experiencia de usuario receptiva cuando la aplicación necesita realizar operaciones que consumen tiempo.

Opciones Comunes

  • -d, --daemon - Ejecutar el servidor como un proceso daemon en segundo plano
  • -c, --config [ruta] - Especificar la ruta del archivo de configuración
  • --hostname [hostname] - Anular el hostname del servidor
  • --port [puerto] - Anular el puerto del servidor
  • -w, --web [workers] - Bifurcar procesos web worker
  • -j, --job [workers] - Bifurcar procesos job worker
  • --logLevel [nivel] - Anular el nivel de registro

Ejemplos

Inicio Básico

# Iniciar Gigantics con configuración predeterminada
gig start

Este comando inicia el servidor Gigantics con los ajustes predeterminados definidos en el archivo de configuración. El servidor se vinculará al hostname y puerto especificados en tu archivo de config, típicamente localhost:3000 para entornos de desarrollo.

Modo Daemon

# Iniciar en modo daemon con configuración específica
gig start -d -c config/production.yaml

Ejecutar con el indicador -d o --daemon inicia el servidor como un proceso en segundo plano. Esto es útil para entornos de producción donde quieres que el servidor continúe ejecutándose incluso después de cerrar tu sesión de terminal. El indicador -c te permite especificar qué archivo de configuración usar.

Ajustes de Red Personalizados

# Iniciar con hostname y puerto personalizados
gig start --hostname=0.0.0.0 --port=8080

Este ejemplo anula los ajustes predeterminados de hostname y puerto. Usar --hostname=0.0.0.0 hace que el servidor sea accesible desde cualquier interfaz de red, no solo desde localhost. Esto se usa frecuentemente en entornos contenerizados o cuando necesitas acceder al servidor desde otras máquinas.

Bifurcado de Web Worker para Rendimiento

# Bifurcar 4 procesos web worker
gig start -w=4

Con la opción -w, bifurcas múltiples procesos web worker (en este caso, 4 workers). Cada worker puede manejar solicitudes de manera independiente, lo que mejora la capacidad de la aplicación para manejar usuarios concurrentes. Esto se recomienda para entornos de producción con tráfico alto.

Depuración y Registro

# Iniciar con registro de depuración
gig start --logLevel=debug

Establecer --logLevel=debug habilita la salida detallada de registro, lo cual es útil para solucionar problemas durante el desarrollo. Otros niveles de registro disponibles incluyen error, warn, info, http y verbose, cada uno proporcionando diferentes cantidades de detalle.

Combinando Opciones

Puedes combinar múltiples opciones para personalizar el inicio de tu servidor:

# Iniciar servidor en modo daemon con configuración personalizada, 4 web workers y registro de depuración
gig start -d -c config/production.yaml -w=4 --logLevel=debug
 
# Iniciar servidor accesible en todas las interfaces con puerto personalizado y 2 job workers
gig start --hostname=0.0.0.0 --port=8080 -j=2

Obtener Ayuda

Como con todos los comandos de Gigantics, puedes obtener información de ayuda detallada:

gig start --help

Esto mostrará todas las opciones disponibles con sus descripciones y valores predeterminados.

Variables de Entorno

El comando start respeta estas variables de entorno:

  • NODE_ENV - Modo de entorno (development, production, test)
  • GIGANTICS_CONFIG - Ruta del archivo de configuración

Mejores Prácticas

  1. Desarrollo vs Producción: Usa diferentes archivos de configuración para entornos de desarrollo y producción. La configuración predeterminada es adecuada para desarrollo, pero los entornos de producción deben usar ajustes optimizados.

  2. Configuración de Worker:

    • Para desarrollo: Usa un único web worker para facilitar la depuración
    • Para producción: Ajusta el número de web workers basado en núcleos de CPU (típicamente 1-2 workers por núcleo)
    • Job workers: Configura basado en la carga de tareas en segundo plano de tu aplicación
  3. Modo Daemon en Producción: Cuando despliegues en producción, usa el indicador -d para ejecutar el servidor en segundo plano y asegurar operación continua.

  4. Consideraciones de Seguridad:

    • No expongas el servidor a todas las interfaces (0.0.0.0) a menos que sea necesario
    • Usa variables de entorno para configuración sensible en lugar de argumentos de línea de comandos
    • Asegura una configuración adecuada del firewall en entornos de producción
  5. Registro: Usa niveles de registro apropiados para cada entorno:

    • Desarrollo: niveles info o debug para solución de problemas
    • Producción: niveles warn o error para reducir el volumen de registros

Ver También