IsSynchronous

Краткая информация

Определяет, работает ли инструмент в синхронном или асинхронном режиме. Когда инструмент работает в синхронном режиме, результаты возвращаются автоматически, но пока инструмент не закончит работу, другие действия выполнить нельзя. Все несерверные инструменты являются синхронными. Серверные инструменты могут быть асинхронными, т.е., начав выполнение инструмента на сервере, можно одновременно использовать другую функциональность, при этом результаты выполнения инструмента должны быть явным образом запрошены у сервера.

Синтаксис

IsSynchronous (tool_name)
ПараметрОписаниеТип данных
tool_name

Имя инструмента, для которого нужно определить, является ли он синхронным.

String
Возвращаемое значение
Тип данныхОписание
Boolean

Возвращенное Булево значение Истина указывает на то, что инструмент является синхронным.

Пример кода

Пример IsSynchronous

Определяет, работает ли серверный инструмент в синхронном режиме.

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.BufferLines_mytools(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")

Связанные разделы