Saltar a contenido

Trabajos

Los trabajos en QFieldCloud realizan operaciones pesadas con archivos de proyectos y capas dentro de QGIS. Los trabajos se crean en respuesta a determinadas acciones del usuario.

Una vez creado un trabajo, se añade a la cola de trabajos del proyecto y espera a que se ejecuten los recursos disponibles de QFieldCloud. En cualquier momento, sólo puede ejecutarse un trabajo por proyecto. El resto de los trabajos en cola se ejecutarán en el mismo orden en que entraron en la cola.

Cada trabajo consta de uno o más pasos y cada paso es responsable de una tarea autónoma en el proyecto. QFieldCloud admite tres flujos de trabajo predefinidos: process_projectfile, package y delta_apply.

Mientras se ejecutan, los trabajos escriben mensajes de registro que están disponibles en la página de trabajos del proyecto para los trabajos que han alcanzado un estado final FINISHED o FAILED.

Los trabajos tienen acceso a los secretos del proyecto.

Nota

Todos los trabajos pueden ser desencadenados usando la API de QFieldCloud.

Advertencia

  • Cualquiera de las condiciones de activación descritas en esta página puede cambiar sin previo aviso.
  • Todos los trabajos deben terminar antes de 10 minutos o darán lugar a un error de tiempo de espera y serán terminados.

Tipos de trabajo

Trabajo de procesar el archivo de proyecto (process_projectfile)

La tarea de procesar el archivo de proyecto se utiliza para extraer detalles sobre la configuración del proyecto y las capas del proyecto, como el SRC del proyecto, el SRC de la capa, el nombre de la capa, la validez de la capa, etc. QFieldCloud valida el archivo de proyecto QGIS cargado (.qgs/.qgz), así como los GeoPackages de apoyo, TIFFs y otros archivos de origen de datos. También valida la conexión remota a PostGIS, WFS, WMS y otras fuentes de datos en línea. QFieldCloud abrirá el archivo de proyecto en una instancia de QGIS en el servidor para extraer toda la información necesaria.

Activadores

Este trabajo se activa cada vez que se sube un archivo a QFieldCloud, a menos que al menos una de las siguientes condiciones sea válida:

  • Todavía no se ha cargado ningún archivo de proyecto QGIS (.qgs/.qgz).
  • El archivo cargado está dentro del directorio DCIM. Se supone que esos archivos son irrelevantes para la validez del proyecto.
  • Ya hay un trabajo process_projectfile en estado PENDING.

Solucionar problemas

Un trabajo process_projectfile puede resultar en el estado FAILED. Compruebe la lista no exhaustiva de causas que aparece a continuación:

  • El archivo de proyecto QGIS cargado (.qgs/.qgz) es ilegible, está incompleto, roto o es incorrecto. Intente volver a cargar el archivo de proyecto QGIS.
  • QGIS se bloquea después de abrir el archivo de proyecto. Intente identificar la capa que está causando el bloqueo eliminando una capa a la vez del proyecto y volviendo a cargar el archivo de proyecto de QGIS.

Nota

Incluso si un trabajo de process_projectfile resulta en un estado SUCCESS, no significa que el proyecto esté configurado correctamente. El estado SUCCESS sólo indica que el proyecto se ha abierto con éxito y que se ha extraído toda la información necesaria.

Trabajo de paquete (package)

El trabajo package convierte un proyecto QGIS en un proyecto QField, de la misma manera que se hace en QGIS a través de QFieldSync. El trabajo package preparará todas las capas marcadas como "Edición fuera de línea" a un único GeoPackage.

Activadores

Este trabajo se activa cada vez que se pulsan los botones Descargar o Sincronizar en QField. A menos que al menos una de las siguientes condiciones sea válida:

  • El proyecto nunca ha ejecutado un trabajo process_projectfile que haya resultado en estado SUCCESS.
  • Ya hay un trabajo de package en estado PENDING.
  • El proyecto no contiene capas vectoriales en línea (PostGIS, WFS, etc.), el último resultado del trabajo de package fue SUCCESS y no hubo cargas de archivos, ni de cambios.

Solucionar problemas

Un trabajo de package puede resultar en un estado FAILED. Compruebe la lista no exhaustiva de causas que aparece a continuación:

  • El proyecto nunca ha ejecutado un trabajo process_projectfile que haya resultado en estado SUCCESS.
  • Algunas de las capas del proyecto son inaccesibles desde QFieldCloud. Asegúrese de que todos los archivos se cargan y todas las credenciales para las capas en línea (PostGIS, WFS, etc.) se almacenan dentro del archivo de proyecto de QGIS.

Trabajo de aplicación delta (delta_apply)

Delta apply jobs es responsable de hacer permanentes todos los cambios de QField empujados.

Activadores

Este trabajo se activa cada vez que se pulsa el botón Sincronizar o Pulsar cambios en QField, o el botón Aplicar cambios pendientes en la página del proyecto Cambios. Si alguna de las siguientes condiciones es válida:

  • El proyecto nunca ha ejecutado un trabajo process_projectfile que haya dado como resultado el estado SUCCESS.
  • Ya hay un trabajo delta_apply en estado PENDING.

Solucionar problemas

Un trabajo delta_apply puede resultar en un estado FAILED. Compruebe la lista no exhaustiva de causas que aparece a continuación:

  • Al menos una de las bases de datos en línea (PostGIS/WFS) utilizadas en el proyecto QGIS restablece la conexión.
  • El proyecto es demasiado grande y el trabajo no ha funcionado.
  • Hay archivos y directorios ocultos dentro del proyecto que impiden el trabajo normal de QFieldCloud. Los archivos y directorios ocultos son aquellos que comienzan con un punto inicial (.).

Volver a aplicar los cambios en QFieldCloud

  1. Haga clic en el nombre del proyecto en Mis proyectos.
  2. Vaya a la sección Cambios. (Los cambios están ordenados del más reciente al más antiguo)
  3. Busque los cambios específicos que desea volver a aplicar.
  4. En la columna Acción de la derecha, haga clic en la lista desplegable.
  5. Elija la acción deseada para volver a aplicar los cambios.

    • Volver a aplicar cambios específicos: Si necesita volver a aplicar cambios específicos, seleccione cada cambio que desee volver a aplicar y haga clic en Reaplicar.
    • Volver a aplicar los cambios recientes: Si prefiere volver a aplicar las modificaciones más recientes realizadas en el proyecto, identifique el cambio inicial que desea restaurar y, a continuación, seleccione Reaplicar este cambio y otros más recientes.

Por último, haga clic en el botón Guardar todo.

Volver a aplicar los cambios
Volver a aplicar los cambios

Solucionar los problemas de los registros de trabajo

Cuando se ejecuta un trabajo, normalmente se puede encontrar un paso en los registros llamado "Comprobar las capas del proyecto" que imprime una tabla con todas las capas del proyecto y el estado junto a ellas.

Los estados posibles son:

  • ok: La capa se carga correctamente en QFieldCloud.
  • invalid_dataprovider: El proveedor de datos de la capa no es válido. Por lo general, se muestra información adicional en el "Resumen del proveedor".
  • invalid_layer: Estos errores deberían ocurrir muy rara vez, si es que alguna vez lo hacen. Los datos se cargan correctamente, pero por alguna razón QGIS informa que la capa no es válida.

No se puede conectar al servicio "{SERVICE}".

QFieldCloud intenta conectarse a un servicio PostgreSQL que no está disponible. Debería crear un nuevo pgservice secreto para que QFieldCloud pueda conectarse al servicio PostGIS.

No se puede conectar al host "{HOST}".

QFieldCloud no puede establecer una conexión con el {HOST} dado. Su servicio no es accesible desde el servidor de QFieldCloud. Es posible que tenga que pedir a su departamento de TI que ponga en la lista blanca la IP de QFieldCloud.

No se puede conectar al host "localhost".

Ha cargado una capa que se conecta a una base de datos/servicio en su máquina local. Quite esa capa o reemplácela con una fuente de capa accesible por QFieldCloud.

Falta el archivo "{FILENAME}".

El archivo {FILENAME} (por ejemplo, /tmp/rndstr/files/data.gpkg) no se encuentra en el servidor QFieldCloud y no se puede abrir. Hay dos cosas que se deben revisar:

  • Si el archivo se ha subido a la nube. Puede verificar esto en la página Configuración del proyecto -> Archivos en QFieldCloud o QFieldSync.
  • Asegurándose de que el archivo se cargue con la misma ruta relativa que en su PC. Tenga en cuenta que todos los archivos del proyecto deben estar dentro del mismo directorio o subdirectorio del proyecto que el archivo del proyecto QGIS .qgs/.qgz. Tenga en cuenta también que los nombres de los directorios también deben conservarse, por ejemplo, si un archivo está almacenado en data/data.gpkg, asegúrese de que el directorio data también existe en QFieldCloud.