Los problemas más comunes con un servicio de geoprocesamiento se pueden detectar utilizando una o más de estas técnicas:
- Habilite los mensajes de geoprocesamiento en el servicio, vuelva a ejecutar la tarea e inspeccione los mensajes.
- Ejecute la tarea e inspeccione el directorio arcgisjobs.
- Verifique que la propiedad límite de transferencia no se ha superado.
Habilitar los mensajes de geoprocesamiento de nivel de información
Los mensajes de la herramienta de geoprocesamiento contiene una cuenta detallada paso por paso de la ejecución de una tarea de geoprocesamiento. En caso de fracaso, los mensajes de geoprocesamiento le ayudarán a identificar el punto exacto del fallo de una tarea de geoprocesamiento. Los mensajes de geoprocesamiento enviados al cliente están determinados por la propiedad Nivel de mensaje del servicio de geoprocesamiento. Los cuatro niveles de mensajes son propiedad , Error , Advertencia e Info. Si el mensaje de nivel se establece en Ninguno, las operaciones Ejecutar tarea o Enviar trabajo de la tarea de geoprocesamiento solo devolverán mensajes de la herramienta para informar sobre si la tarea ha sido satisfactoria o ha fallado. El nivel Info nivel proporciona todos los mensajes de geoprocesamiento que se generan por la tarea y se recomienda para la solución de problemas. Puede definir la propiedad Nivel Mensaje del servicio de geoprocesamiento como nivel Información a través de ArcGIS Server Manager o ArcMap y realizar un procedimiento adicional de solución de problemas.
Sugerencia:
Si usted no ha recibido ningún tipo de mensaje de geoprocesamiento, incluso después de establecer nivel de mensaje a Info, esto indica que las entradas son inválidas. Los valores de los parámetros de entrada de la tarea pueden ser JSON deformes, parciales o inválidos. Debe verificar los tipos de datos de parámetro de entrada y sus valores JSON.
Inspeccione el directorio arcgisjobs.
Otra forma de solucionar los servicios de geoprocesamiento es utilizar el modo de ejecución sincrónica para la depuración. Puede editar la propiedad del modo de ejecución del servicio de geoprocesamiento a través de ArcGIS Server Manager o ArcMap. En el modo de ejecución sincrónica, el servidor crea un único directorio para cada puesto de trabajo presentado por su cliente en el directorio arcgisjobs. Cada directorio tendrá una carpeta scratch que sirve como espacio de trabajo temporal para el trabajo de geoprocesamiento que se ejecute en el servidor. Los datos de salida, los datos intermedios (temporales) y los mensajes de geoprocesamiento generados por el trabajo asíncrono se escriben en el espacio de trabajo temporal. Puede examinar los datos en el espacio de trabajo temporal para identificar los problemas y cuestiones que puedan haber causado el fallo de la tarea.
El directorio arcgisjobs es una propiedad configurable de un servicio de geoprocesamiento y puede modificarse durante la publicación o más adelante. La ruta predeterminada del directorio arcgisjobs es <server_directories>\directories\arcgisjobs. El espacio de trabajo temporal predeterminado de un trabajo asíncrono será <arcgis-jobs-folder>\<server_folder_if_any>\<gpservice_name>\<jobid>\scratch.
Contenido de un espacio de trabajo temporal del servidor
- Carpeta scratch: la carpeta scratch tendrá datos de salida basados en archivos como shapefiles, rásteres, etcétera, dependiendo de la funcionalidad de la herramienta.
- scratch.gdb: la geodatabase scratch.gdb reside dentro de la carpeta scratch y datasets de salida como clases de entidad y rásteres de geodatabase se escribirán en la geodatabase scratch.gdb.
- messages.xml: el archivo message.xml reside en la carpeta scratch y tendrá todos los mensajes de geoprocesamiento registrados para tareas de geoprocesamiento. Los mensajes en el archivo XML dependen de la propiedad Nivel de mensaje del servicio de geoprocesamiento.
Sugerencia:
Los directorios temporales en la carpeta arcgisjobs se eliminarán a intervalos predefinidos como parte de la rutina de limpieza del servidor. La duración de la limpieza viene determinada por la propiedad Antigüedad máxima del archivo del directorio arcgisjobs. El valor predeterminado es de 360 minutos, pero el administrador del servidor puede modificarlo usando ArcMap o ArcGIS Server Manager.
Sugerencia:
El servidor escribe los datos intermedios generados por el modelo o la secuencia de comandos en la carpeta de trabajo temporal durante la ejecución de la tarea. Sin embargo, los datos intermedios se eliminarán al término de la ejecución. Si desea inspeccionar datos intermedios específicos en el modelo o secuencia de comandos, conviértalos en parámetros de salida en el modelo o secuencia de comandos, cree un nuevo resultado y publique el resultado como un servicio. Ejecute este nuevo servicio para examinar los nuevos datos de salida.
Superación del límite de transferencia
A veces, su tarea sincrónica o asíncrona puede tener éxito, pero los parámetros del conjunto de entidades de salida o del conjunto de registros devueltos por el servidor puede que no tengan ninguna entidad o registro. En tales casos, deberá aumentar el valor de la propiedad Número máximo de registros devueltos por el servidor del servicio de geoprocesamiento en ArcMap o ArcGIS Server Manager. El número máximo de entidades de salida y de registros devueltos por una tarea de geoprocesamiento está determinado por la propiedad Número máximo de registros devueltos por el servidor. El valor predeterminado de la propiedad es de 1.000 registros o entidades. Cuando el número de registros o entidades de salida de una tarea es mayor que la propiedad Número máximo de registros devueltos por el servidor, la tarea de geoprocesamiento no devolverá ningún registro ni entidad aunque la tarea fuera satisfactoria.