IsSynchronous (arcpy)
Резюме
Определяет, работает ли инструмент в синхронном или асинхронном режиме. Когда инструмент работает в синхронном режиме, результаты возвращаются автоматически, но пока инструмент не закончит работу, другие действия выполнить нельзя. Все несерверные инструменты являются синхронными. Серверные инструменты могут быть асинхронными, т.е., начав выполнение инструмента на сервере, можно одновременно использовать другую функциональность, при этом результаты выполнения инструмента должны быть явным образом запрошены у сервера.
Синтаксис
Параметр | Объяснение | Тип данных |
tool_name |
Имя инструмента, для которого нужно определить, является ли он синхронным. | String |
Тип данных | Объяснение |
Boolean |
Возвращенное Булево значение Истина указывает на то, что инструмент является синхронным. |
Пример кода
Определяет, работает ли серверный инструмент в синхронном режиме.
import arcpy
import time
# Add server toolbox from a local ArcGIS for Server
#
arcpy.ImportToolbox("pondermatic;buffertools")
# Create and load a recordset object for the tool's input
#
recSet = arcpy.RecordSet()
recSet.load("c:/temp/lines.shp")
# Run the server tool
#
results = arcpy.BufferLines_mytools(recSet, "100")
# If the tool is asynchronous, wait until the task is finished (status = 4)
#
if not arcpy.IsSynchronous("BufferLines"):
while results.status < 4:
time.sleep(0.01)
# Get output from task and export to a feature class on disk
#
result = results.getOutput(0)
result.save("c:/temp/bufferlines.shp")