No se pudo cerrar el documento. timeout of 6000ms exceeded (ref: qx93j)

Buenas tardes!
¿Como andan? Espero que bien!
Por favor, estamos teniendo un pequeño inconveniente al crear un documento, en SUDOCU estamos con la versión 1.4.9.
Creamos el documento, y adjuntamos un pdf que tiene 8 MB y cuando lo autorizamos, nos da el siguiente mensaje:

No se pudo cerrar el documento. timeout of 6000ms exceeded (ref: qx93j)

y mirando log dice:

| _currentUrl: ‘http://docs-api/docs/rest/backend/documentos’,
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | _timeout: null,
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | [Symbol(kCapture)]: false
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | },
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | response: undefined,
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | isAxiosError: true,
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | toJSON: [Function: toJSON]
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | }
sudocu_api-server.1.1d9xuvutvmye@vm08unlc | >> Error The request was made but no response was received

Por favor, a alguien le paso?
muchas gracias!
saludos
Dora

Dora, buenas tardes. ¿Cómo estás?
A partir de la versión con la que cuentan, se implementó el parámetro “subir_documento_timeout” dentro del archivo de configuración del Api-Server de SUDOCU para establecer el límite de tiempo para la subida y generación de una solicitud de firma en Araí Documentos.
Por defecto, está configurado en 60000 milisegundos.
¿Probaron de aumentar el valor del mismo?
Aguardo tus comentarios.
Saludos,
Alejandro.

Hola Alejandro!
Todo bien por suerte gracias
Vos sabes que esa linea que comentas no la teníamos dentro del archivo de configuración del Api-Server, pero la agregamos y funciono lo mas bien.

Muchas gracias!
Saludos,
Dora

Dora, me alegro que pudieron solucionarlo!!
Gracias por el aviso!!
Saludos,
Alejandro.

Buenas tardes, estamos teniendo el mismo problema ( No se pudo cerrar el documento. timeout of 6000ms exceeded) y en la documentacion no esta esa linea que mencionan, podran indicarnos donde y como podemos setearla?.
por otro lado veo que indicas que por default deberia ser de 60000 pero a nosotros nos aparece 6000, no se si fue un error de tipeo o si realmente es 60000.

Adjunto el archivo de config que esta publicado

{
  "organismo": {
    // Completar el campo código con el número de SAF asignado a la institución
    "codigo": 815,
    "nombre": "Universidad Nacional de General Sarmiento",
    "sigla": "UNGS"
  },
  "servidor": {
    "path": "/",
    "host": "0.0.0.0",
    "subdomain": "sudocu",
    "domain": ".ungs.edu.ar",
    "port": "8080",
    "seguro": {
      "habilitado": true,
      "certificados": {
        "ca": "/etc/ssl/crt/sudocu.ca-bundle",
        "cert": "/etc/ssl/crt/sudocu.crt",
        "key": "/etc/ssl/crt/sudocu.key"
      },
      "cookies": {
        "secure": true,
        "maxAge": 3600000,
        "sameSite": "none"
      }
    },
    "websocket": {
      // Configuración librería socket.io
      "path": "/socket.io",
      "secure": false,
      "cookie": {
        "name": "test",
        "httpOnly": false,
        "path": ""
      }
    },
    "firebase": false,
    "environment": "development" // Agrega marca de agua a documentos cerrados con leyenda "test". Opciones: development | production
  },
  "reverse_proxy": {
    // Agrega https a las url
    "seguro": true
  },
  "debug": {
    "SQL": false, // Habilita debug para consultas postgres (solo develop)
    "verbose": true // Habilita debug de mensajes para cada función
  },
  "auth": {
    // Estrategias de login
    "providers": {
      "basic": {
        "user": "",
        "challenge": true,
        "realm": ""
      },
      "local": {
        "habilitado": false
      },
      "twitter": {
        "habilitado": false,
        "consumerKey": "consumerKey",
        "consumerSecret": "consumerSecret"
      },
      "facebook": {
        "habilitado": false,
        "clientID": "clientID",
        "clientSecret": "clientSecret"
      },
      "google": {
        "habilitado": false,
        "clientID": "clientID",
        "clientSecret": "clientSecret"
      },
      "saml": {
        "identifier": "uid", // Este valor depende de la versión de saml
        "crearSiNoExiste": true, // Crea nuevo usuario en SUDOCU si este no existe
        "habilitacionAutomatica": true,
        "perfilXDefecto": 1,
        "claustroXDefecto": "ND",
        "habilitado": true,
        "entryPoint": "https://idp.edu.ar/saml2/idp/SSOService.php",
        "logoutUrl": "https://idp.edu.ar/saml2/idp/SingleLogoutService.php?ReturnTo=http://sudocu.edu.ar/",
        "cert_pem": "" // Permite incorporar certificado en formato .pem para autenticación saml
      }
    }
  },
  "repositorios": {
    //Repositorio
    "documentos": "arai", // Opciones: arai | filesystem
    "adjuntos": "filesystem",
    "arai": {
      "url_notificacion": "https://sudocu.edu.ar/api/integracion/notificacion",
      "url": "https://sudocu.edu.ar/docs/rest/backend/documentos",
      "username": "documentos",
      "id_instalacion": "sudocu"
    }
  },
  "firma": {
    //Firma
    "modelo_autorizacion": "siu", // Opciones: siu | sudocu
    "api": "https://sudocu.edu.ar/docs/rest/backend", // Exclusivo modelo siu
    "api_front": "https://sudocu.edu.ar/docs/rest/frontend", // Exclusivo modelo siu
    "username": "documentos"
  },
  "filesystem": {
    // Carpeta donde se guardan los adjuntos
    "rootFolder": "/app/sudocu-files/",
    "cacheFolder": "/app/sudocu-files/cache",
    "rootFolderWorker": "/worker/sudocu-files/",
  },
  "ungsxt": {
    // Conexión con base de datos
    "host": "10.0.0.1",
    "port": "5435",
    "database": "sudocu",
    "user": "postgres",
    "max": 20, // Cantidad máxima pool de conexión
    "idleTimeoutMillis": 30000,
    "connectionTimeoutMillis": 2000,
    "statement_timeout": 30000,
    "query_timeout": 20000
  },
  "nuxeo": {
    // Configuración nuxeo en caso de no usar arai
    "api": "",
    "admin": {
      "username": ""
    }
  },
  "carpetas": {
    // Path dentro del contenedor para almacenar archivos temporales
    "archivos": "/tmp"
  },
  "alertas": {
    // Funcionalidad alertas permite recibir notificaciones con errores producidos en el api-server
    "traceinconsole": false, // Oculta el trace
    "rawinmessage": false, // Incorpora el error completo convertido en texto en el mensaje de la notificación
    "telegram": {
      // Habilita mensajes con errores por telegram
      "_comment": "https://www.npmjs.com/package/messaging-api-telegram",
      "enabled": false,
      "login": false,
      "token": "",
      "chat_id_prod": "",
      "chat_id_testing": ""
    },
    "email": {
      // Habilita mensajes con errores por email
      "enabled": false,
      "dev": {
        "_comment": "https://stackoverflow.com/questions/24098461/nodemailer-gmail-what-exactly-is-a-refresh-token-and-how-do-i-get-one",
        "destinatario": "",
        "client_id": "",
        "client_secret": "",
        "refresh_token": "",
        "auth": {
          "user": ""
        }
      }
    }
  },
  "email": {
    // Configuración de funcionalidad seguimientos
    "seguimientos": {
      "notificaciones": {
        // Variables disponibles para asunto y cuerpo: $novedad $tipo $numero $caratula $area_usuario_origen $estado $permalink
        "campo_destinatarios": "para|cc|cco", // Opciones: para|cc|cco|. Cuando el valor es "para" la notificación será enviada solo a la cuenta destinataria. Cuando el valor sea "cc" o "cco" también se enviará la misma notificación a la cuenta remitente.
        "remitente": "", // Es posible colocar la misma cuenta de email o cualquier otra y será visible como remitente en las notificaciones automáticas.
        "asunto": "$novedad ($tipo)",
        "cuerpo": "Tipo: $tipo<br/>Número: $numero <br/>Carátula: $caratula<br/>Area y usuario de origen: $area_usuario_uario_origen <br/>Novedad: $novedad<br/>Estado: $estado<br/>link: $permalink<br/>",
        "escenarios": "compartir|enviar", // Opciones: remitir|enviar|solicitar|autorizar|rechazar|compartir
        "novedades": {
          // Permite especificar el texto para cada evento
          "remitir": "Se remite un expediente",
          "enviar": "Se envía un documento",
          "solicitar": "Solicitud de autorización",
          "autorizar": "Solicitud autorizada",
          "rechazar": "Rechazo solicitud de autorización",
          "compartir": "Se comparte un documento"
        }
      },
      // Configuración servidor de email
      "_comment": "Modo puede ser smtp o gmail",
      // "modo": "gmail" ó "modo": "smtp"
      "modo": "gmail",
      // smtp
      "smtp": {
        "remitente": "",
        "host": "",
        "port": "",
        // "secure": false ó "secure": true
        "secure": true,
        "auth": {
          "user": "",
          "pass": ""
        }
      },
      // gmail
      "gmail": {
        "remitente": "SUDOCU",
        "client_id": "",
        "client_secret": "",
        "refresh_token": "",
        "auth": {
          "user": ""
        }
      }
    }
  },
  "redis": {
    // Servidor redis
    "host": "cache",
    "port": 6379,
    "db": "UNGSxt",
    "ttl": 28800,
    "options": {}
  },
  "firebase_admin": {
    "databaseURL": ""
  },
  "pdf": {
    // Host servidor pdf
    "host": "http://pdf:3000"
  },
  "blockchain": {
    "habilitado": false,
    "stampURL": "https://tsaapi-test.bfa.ar/api/tsa/stamp/",
    "verifyURL": "https://tsaapi-test.bfa.ar/api/tsa/verify/"
  },
  // Configuración CORS
  "whitelist": [8080, 8181, 8383, 443],
  "documentos": {
    "_comment": "recepcion por vista o por edicion",
    "recepcion": "edicion", // Opciones: vista | edicion
    "google_analytics": {
      // Permite incoporar el id para tracking
      "habilitado": false,
      "id": ""
    }
  },
  "archivos": {
    "vista_previa": {
      "_limite_previsualizacion": "numero entero, representa el total de MB de las primeras hojas en la vista previa",
      "limite_previsualizacion": 1
    },
    // Herramienta merge archivos pdf
    "merge_tool": "gs", // Opciones: gs o pdftk
    "merge_skip_error": true, // En caso de recibir errores todo el tiempo
    "lectura_firmas": {
      "_comment": "El valor de max_file_mb solo se toma en cuenta si stamper_host es null y por lo tanto se utiliza verifyPDF para lectura de las firmas. De otro modo, si el valor de stamper_host apunta a un servicio de stamper válido este no tiene limitaciones de tamaño.",
      "_max_file_mb": "Se recomienda no utilizar mas de 20mb",
      "max_file_mb": 20,
      "stamper_host": "http://stamper:8080/signatures",
      "_stamper_host": "se recomienda utilizar esta alternativa cuando los adjuntos son mayores a 20mb. El host del stamper se puede obtener del archivo docs.yml del despliegue de arai-documentos. El parámetro se debe escribir de tal manera que quede el protocolo al principio (http://) y la ruta /signatures al final."
      "stamper_timeout": 30000,
    }
  },
  "gestion": {
    "vistas": {
      "frecuencia_actualizacion_cron": "* * * * *", //Frecuencia de actualización de la vista de la Bandeja de Novedades
      "inbox": {
        "habilitado": true,
        "periodo_horas": 24,
        "limite": 10
      },
      "busqueda_e_incorporaciones": {
        "periodo_dias": 90,
         "frecuencia_actualizacion_busqueda_cron": "* * * * *", //Frecuencia de actualización de la vista materializada de la búsqueda rápida.
      }
    },
    "_buscador_general": "sincrono/asincrono",
    "buscador_general": "sincrono",
    "reutilizar_numeros_documentos_anulados": false, // Indica la posibilidad de reutilizar una numeración tomada por un documento anulado
    "recaratular": {
      "_creador": "boolean permite o no al creador de un documento recaratular",
      "creador": false
    },
    "copiar_archivos_adjuntos": false,
    "transformacion": {
      "_hereda_visibilidad": "true: la visibilidad del documento resultante tendra la del original, false: la visibilidad sera la del tipo de documento resultante",
      "hereda_visibilidad": true
    },
    "incorporar_expedientes": true, // Permite o no incorporar expedientes
    "expedientes": {
      "asociacion": {
        "_alcance": "area_activa / areas_usuario / global",
        "alcance": "global"
      },
      "_buscador_general":"sincrono/asincrono",
      "buscador_general":"sincrono", 
      "limite_tamanio_vista_previa_expedientes": -1, // Establece límite en megabytes para previsualización de expedientes/trámites, si se supera el límite el sistema sugiere otras herramientas. Para no establcer un límite se utiliza el valor -1
      "incorporar_mismo_documento_n_veces": true, // Habilita la posibilidad de incorporar el mismo documento a un expediente producto de la incorporación de trámites o expedientes que ya contengan un documento previamente incorporado
      "mostrar_alerta_documento_ya_existente": false, // Muestra alerta cuando un documento ya se encuentra incorporado en el contenedor
      "incorporar_vacios": false // Habilita la posibilidad de incorporar un contenedor/trámite vacío en un expediente
    },
    "busqueda": {
      "esencias": {
        "documento": ["privado", "publico", "reservado"],
        "tramite": ["privado", "publico", "reservado"],
        "contenedor": ["privado", "publico", "reservado"]
      }
    },
    "expediente_papel_fojas": true,
    "integracion": {
      "esencias": ["contenedor"] // Tipos de esencia habilitadas en integración
    },
     "carpeta_mpd_mis_documentos": {
      "descargar_relacionados": true
    },
    "anti_flood_ms": 100,
    "ver_expedientes_enviados": false, // Habilita herramienta vista avanzada para expedientes en vista enviados
    "agregar_seguimiento_docs_compartidos": false, // Muestra seguimientos en la vista preview
    "vista_rapida_descargar": "ubicacion", // Habilita botón descargar para la vista previa
    "mostrar_validez": true, // Habilita toggle en formulario para indicar validez digital o papel
    "contar_novedades": false, // Habilita ícono con cantidad de documentos en cada solapa
    "permitir_usar_fojas_remision_contenedor_tramite": false, // Habilita switch en formulario para indicar el uso de fojas al remitir
    "archivo_principal": true, // Habilita botón para establecer archivo adjunto principal
    "permite_eliminar_seguimientos": true, // Habilita botón eliminar seguimientos
    "archivos_adjuntos": {
      "max_mb": 100, // Tamaño máximo por archivo
      "sum_max_mb": 100, // Tamaño máximo de todos los adjuntos por documento
      "max_cant": 100 // Cantidad máxima de adjuntos por documentos
    },
    "herramientas_vistas": {
      // Habilita herramientas según la vista
      "documentos": {
        "anular": true
      },
      "compartidos": {
        "vista_previa": true
      },
      "busqueda": {
        "compartir": false,
        "vista_avanzada": false,
        "descargar": false,
        "abrir": false,
        "mapa": false
      }
    },
    "fonts": [
      //Agrega fuentes en módulo templates pdf de mpc
      {
        "name": "Oswald=oswald",
        "style": "https://fonts.googleapis.com/css2?family=Oswald&display=swap"
      }
    ]
  },
  "admin": {
    // Parámetros módulo admin
    "logged_users_refresh_rate": 30,
    "notificaciones_delay": 100,
    "jobs_timer": "0 */1 * * * *"
  },
  "imagemin": {
    // Parámetros librería imagemin
    "width_pixels": 20,
    "jpeg_quality": 50 // Permite definir la calidad de los archivos .jpg subidos como adjuntos Opciones: 1 a 100
  },
  "http-proxy": {
    // Librería http-proxy-middleware
    // Permite redireccionar request hacia otro servidor
    // Ejemplo: http://localhost:3000/api/foo/bar -> http://www.example.org/api/foo/bar
    "service": {
      "target": "",
      "auth": "user:password"
    }
  },
  "secrets": {
    // Secrets para modo desarrollo
    "auth_providers_basic_password": "integracion",
    "auth_admin_basic_password": "admin",
    "repositorios_arai_password": "password_arai",
    "firma_password": "password_arai",
    "db_password": "password_db",
    "redis_options_password": "redis",
    "nuxeo_admin_password": "Administrator"
  }
}

Nota:
Lo encontre, pense que estaba en la documentacion de sudocu pero el actualizado esta en el repo https://hub.siu.edu.ar/siu/expedientes/-/blob/v1.7.1/prod/sudocu/config/config-api-server.json

Buenas tardes Federico, pudieron resolver el inconveniente configurando el parámetro “subir_documento_timeout” ?