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 los recursos de QFieldCloud disponibles se ejecuten. En cualquier momento, solo se puede ejecutar 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 independiente del 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.
Información
Si busca detalles técnicos sobre el funcionamiento de los trabajos, consulte la documentación de la Cola de Trabajos.
Tipos de trabajo¶
Trabajo de procesar el archivo de proyecto (process_projectfile
)¶
La tarea Procesar archivo de proyecto se utiliza para extraer detalles sobre la configuración y las capas del proyecto, incluyendo la versión de QGIS utilizada, el CRS del proyecto, el CRS de las capas, los nombres de las capas, su validez, etc.
QFieldCloud valida el archivo de proyecto de QGIS cargado (.qgs
/.qgz
), así como los GeoPackages, TIFF y otras fuentes de datos compatibles.
También valida las conexiones remotas 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 estadoPENDING
.
Solucionar problemas¶
Una tarea process_projectfile
podría generar el estado FALLIDO
. Consulte la lista no exhaustiva de causas 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 del proyecto QGIS. - QGIS se bloquea después de abrir el archivo del proyecto.
- Intente identificar la capa que está causando el bloqueo eliminando una capa a la vez del proyecto y volviendo a cargar el archivo del proyecto QGIS.
Nota
Aunque un trabajo process_projectfile
tenga el estado ÉXITO
, esto no significa que el proyecto esté configurado correctamente.
El estado ÉXITO
simplemente indica que el proyecto se abrió correctamente y se extrajo toda la información necesaria.
Trabajo de paquete (package
)¶
La tarea package
convierte un proyecto de QGIS en un proyecto de QField, de la misma forma que se hace en QGIS mediante QFieldSync.
La tarea package
preparará todas las capas marcadas como "Edición sin conexión" en un único GeoPackage.
Activadores¶
Este trabajo se activa cada vez que se pulsan los botones Descargar o Sincronizar en QField. A menos que se cumpla al menos una de las siguientes condiciones:
- El proyecto nunca ha ejecutado un trabajo
process_projectfile
que haya resultado en estadoSUCCESS
. - Ya hay un trabajo de
package
en estadoPENDING
. - El proyecto no contiene capas vectoriales en línea (PostGIS, WFS, etc.), el último resultado del trabajo de
package
fueSUCCESS
y no hubo cargas de archivos, ni de cambios.
Solucionar problemas¶
Una tarea de paquete
podría generar el estado FALLIDO
. Consulte la lista no exhaustiva de causas a continuación:
- El proyecto nunca ha ejecutado un trabajo
process_projectfile
que haya resultado en estadoSUCCESS
. - Algunas de las capas del proyecto son inaccesibles desde QFieldCloud.
- Asegúrese de que todos los archivos estén cargados y que todas las credenciales de las capas en línea (PostGIS, WFS, etc.) estén almacenadas dentro del archivo de proyecto 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 Introducir cambios en QField, o el botón Aplicar cambios pendientes en la página del proyecto Cambios. Si se cumple alguna de las siguientes condiciones:
- El proyecto nunca ha ejecutado un trabajo
process_projectfile
que haya dado como resultado el estadoSUCCESS
. - Ya hay un trabajo
delta_apply
en estadoPENDING
.
Solucionar problemas¶
Una tarea delta_apply
podría generar el estado FALLIDO
. Consulte la lista no exhaustiva de causas 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 funcionamiento normal de QFieldCloud.
- Los archivos y directorios ocultos son aquellos que comienzan con un punto inicial (
.
).
Comprensión de los conflictos en los trabajos delta_apply
¶
Los conflictos pueden ocurrir en las siguientes condiciones:
- Dos o más usuarios modifican la geometría o un atributo específico de la misma entidad, comenzando desde el mismo valor inicial pero guardando valores diferentes.
- Una clave principal se utiliza más de una vez.
Para minimizar el riesgo de conflictos, siga estas prácticas recomendadas:
- Actualizaciones del plan de forma colaborativa: al actualizar funciones según las condiciones de campo específicas, asigne a cada usuario un conjunto distinto de funciones para editar.
- Una planificación clara reduce la superposición y los posibles conflictos.
- Evite modificar las claves principales: las claves principales deben tratarse como inmutables y configurarse para que sean de solo lectura.
- Esto garantiza una identificación consistente de las características y evita modificaciones accidentales.
- Asegure claves primarias únicas: utilice una clave primaria verdaderamente única, como un UUID (
uuid()
), para evitar conflictos y garantizar la integridad de los datos.
Al implementar estas prácticas, puede reducir significativamente la probabilidad de conflictos y mantener datos consistentes.
¿Cómo resolver conflictos?¶
De forma predeterminada, QFieldCloud sobrescribe los conflictos mediante una política de last wins policy (la última actualización de los cambios en los atributos involucrados en el conflicto reemplaza todas las actualizaciones anteriores). Como alternativa, los administradores pueden configurar la política de resolución de conflictos de un proyecto como manual. Para ello, el gestor del proyecto deberá resolver manualmente los conflictos, seleccionando los que se aplicarán al proyecto.
- Navegue a la sección "Cambios".
- Filtrar los cambios con el estado "CONFLICTO".
- Para cada cambio en conflicto, selecciónelo y establezca el estado en "Volver a aplicar" en el menú desplegable "Acción"; alternativamente, si todos los cambios nuevos están en conflicto, puede elegir el último cambio en conflicto y seleccionar "Volver a aplicar este cambio y los más recientes".
- Compruebe los detalles de los cambios en el conflicto y haga clic en "Guardar todo" al final de la página.
Volver a aplicar los cambios en QFieldCloud¶
- Haga clic en el nombre del proyecto en Mis proyectos.
- Vaya a la sección Cambios. (Los cambios están ordenados del más reciente al más antiguo)
- Busque los cambios específicos que desea volver a aplicar.
- En la columna Acción de la derecha, haga clic en la lista desplegable.
-
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.
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. Debe crear un nuevo pgservice secrets para que QFieldCloud pueda conectarse al servicio PostgreSQL.
No se puede conectar al host "{HOST}
".¶
QFieldCloud no puede establecer una conexión con el {HOST}
indicado. No se puede acceder a su servicio desde el servidor de QFieldCloud.
Quizás haya solicitado a su departamento de TI que incluya la IP de QFieldCloud en la lista blanca.
No se puede conectar al host "localhost".¶
Ha subido una capa que se conecta a una base de datos/servicio en su equipo local. Elimine esa capa o reemplácela con una fuente de capa accesible mediante QFieldCloud.
Falta el archivo "{FILENAME}
".¶
El archivo {FILENAME}
(p. ej., /tmp/rndstr/files/data.gpkg
) no se encuentra en el servidor QFieldCloud y no se puede abrir.
Hay dos cosas que deben comprobarse:
- Si el archivo se ha subido a la nube. Puede comprobarlo en la página Configuración del proyecto -> Archivos en QFieldCloud o QFieldSync.
- Asegúrese 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 de proyecto QGIS
.qgs
/.qgz
. Tenga en cuenta también que los nombres de los directorios deben conservarse, por ejemplo, si un archivo se almacena endata/data.gpkg
, asegúrese de que el directoriodata
también exista en QFieldCloud.