Ejecutar una secuencia de comandos en proceso

Si su herramienta de secuencia de comandos ejecuta una secuencia de comandos de Python, debe seleccionar Ejecutar secuencia de comandos de Python en el proceso para ejecutar la secuencia de comandos en proceso, como se muestra a continuación. Esta opción sólo se aplica las secuencias de comandos de Python.

Panel 2 del asistente Agregar secuencia de comandos
NotaNota:

Sólo las secuencias de comandos que importan ArcPy, como se muestra a continuación, o que crean el objeto de geoprocesador usando arcgisscripting.create() se pueden ejecutar en proceso.

import arcpy
NotaNota:

Las secuencias de comandos que utilizan despacho, como se muestra a continuación, no se ejecutarán en proceso, incluso si se ha seleccionado Ejecutar secuencia de comandos de Python en el proceso.

import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")

La opción Ejecutar secuencia de comandos de Python en el proceso hizo su aparición en la versión 9.3 de ArcGIS. Antes de la versión 9.3, las secuencias de comandos de Python se ejecutaban fuera de proceso. La ejecución fuera de proceso requiere que ArcGIS inicie otro proceso (como si iniciara otro programa), lo que requiere algo de tiempo. En la ejecución fuera de proceso, también hay problemas de rendimiento, con la comunicación de mensajes entre los dos procesos. Desde la versión 9.3, Python se ha incorporado a ArcGIS de forma que las secuencias de comandos se pueden ejecutar en proceso, eliminando los retrasos del tiempo de inicio y de los mensajes.

La ejecución en proceso requiere que todos los módulos cargados con la directiva de importación de Python tengan la lógica necesaria para habilitar su ejecución en proceso. Todas las bibliotecas estándar de Python, como os, string y time tienen la lógica requerida. No obstante, los módulos no estándar obtenidos de terceros pueden no tener la lógica necesaria para ejecutarse en proceso. Si experimenta problemas que no puede explicar cuando se ejecutan sus secuencias de comandos, pruebe a desactivar la opción de ejecución en proceso y vuelva a ejecutar la secuencia de comandos. Si el problema desaparece al realizar la ejecución fuera de proceso, lo más probable es que se trate de un problema con uno de los módulos que ha importado. En este caso, deje esta opción sin seleccionar.


7/10/2012