Solucionar problemas de los servicios geoprocesamiento REST
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 establecer la propiedad Nivel Mensaje del servicio de geoprocesamiento al nivel Info mediante el Administrador de ArcGIS 10.1 for Server o ArcGIS for Desktop y solucionará aún más problemas.
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.
Inspeccionar 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 procesamiento mediante el Administrador de ArcGIS 10.1 for Server o ArcGIS for Desktop. 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 temporal que funciona como espacio de trabajo temporal para el trabajo de geoprocesamiento que se ejecuta 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 se puede modificar durante la publicación o más tarde. La ruta predeterminada es <server_directories>\directories\arcgisjobs. Por defecto, el espacio de trabajo temporal 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
- temporal carpeta: La carpeta de trabajo temporal tendrá datos de salida basados en archivos, como archivos de forma, rásteres, etc., dependiendo de la funcionalidad de la herramienta.
- scratch.gdb: La geodatabase scratch.gdb reside en la carpeta de trabajo temporal y los datasets de salida, como clases de entidad y rásteres de geodatabase se escribirán en la geodatabase de trabajo temporal.
- messages.xml: El archivo message.xml reside en la carpeta temporal y tendrá todos los mensajes de geoprocesamiento que se registraron para tareas de geoprocesamiento. Los mensajes en el archivo XML dependen de la propiedad Nivel de mensaje del servicio de geoprocesamiento.
Los temporales de la carpeta arcgisjobs se eliminarán en intervalos predefinidos como parte de la rutina de limpieza del servidor. La duración de la limpieza está determinada por la propiedad Edad máxima del archivo del directorio arcgisjobs. El valor predeterminado es 360 minutos, pero se puede modificar al administrador del servidor a través ArcGIS for Desktop o del Administrador de ArcGIS 10.1 for Server.
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.
Se superó el 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 estos casos, debe aumentar el valor de la propiedad Cantidad máxima de registros devueltos por el servidor del servicio de geoprocesamiento utilizando ArcGIS for Desktop o el Administrador de ArcGIS 10.1 for Server. 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.