Краткая информация
Определяет, работает ли инструмент синхронно или асинхронно. Если инструмент является синхронным, результат возвращается автоматически, но до завершения работы инструмента нельзя предпринимать никаких действий. Все не серверные инструменты являются синхронными. Серверные инструменты могут быть асинхронными, то есть после отправки инструмента на сервер другие функции могут быть запущены без ожидания, а результаты должны быть явно запрошены с сервера.
Синтаксис
IsSynchronous (tool_name)
Параметр | Описание | Тип данных |
tool_name | The name of the tool to determine if it is synchronous. | String |
Тип данных | Описание |
Boolean | Возвращаемое логическое значение True указывает на то, что инструмент является синхронным. |
Пример кода
Определите, работает ли серверный инструмент синхронно.
import time
import arcpy
# Add server toolbox from a local ArcGIS Server
arcpy.ImportToolbox("pondermatic;buffertools")
# Create and load a recordset object for the tool's input
record_set = arcpy.RecordSet()
record_set.load("c:/temp/lines.shp")
# Run the server tool
results = arcpy.mytools.BufferLines(record_set, "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.1)
# Get output from task and export to a feature class on disk
result = results.getOutput(0)
result.save("c:/temp/bufferlines.shp")