# comando para crear carpetas y archivos
mkdir -p daemonService/{cmd,config,models,db,notifications,services,api,scheduler} && touch daemonService/cmd/main.go daemonService/config/config.go daemonService/models/models.go daemonService/db/db.go daemonService/notifications/notifier.go daemonService/services/service.go daemonService/services/tipo_documento_identidad.go daemonService/api/handlers.go daemonService/api/server.go daemonService/scheduler/scheduler.go daemonService/config.yaml

myproject/
├── cmd/
│   └── main.go
├── config/
│   └── config.go
├── models/
│   └── models.go
├── db/
│   └── db.go
├── notifications/
│   └── notifier.go
├── services/
│   ├── service.go
│   └── tipo_documento_identidad.go
├── api/
│   ├── handlers.go
│   └── server.go
├── scheduler/
│   └── scheduler.go
└── config.yaml




.
├── configs
│   └── config.yaml
├── cmd
│   └── daemon
│       └── main.go
└── internal
    ├── api
    │   └── router.go
    ├── config
    │   └── config.go
    ├── db
    │   └── db.go
    ├── notifications
    │   └── notifications.go
    ├── services
    │   ├── service.go
    │   └── tipo_documento_identidad.go
    └── soap
        └── soap.go







# iniciar go
go mod init daemonService
go mod tidy
# para ejecutar directo
go run cmd/main.go
# eliminar archivos go.sum go.mod
go clean -modcache
rm -r go.sum go.mod


# 1. Compilar el código
go build -o daemon-services cmd/daemon/main.go

# para compilar en linux 
env GOOS=linux GOARCH=amd64 go build -o daemon-services cmd/daemon/main.go

# 2. Ejecutar el servicio
./daemon-services

# Para ejecutarlo con opciones específicas:
# Usando un archivo de configuración específico
./daemon-services --config=mi-config.yaml

# Ejecutar una vez y salir
./daemon-services --run-once

# Ejecutar solo un servicio específico
./daemon-services --service=tipo_documento_identidad