IsSynchronous (arcpy)
Краткая информация
Определяет, работает ли инструмент в синхронном или асинхронном режиме. Когда инструмент работает в синхронном режиме, результаты возвращаются автоматически, но пока инструмент не закончит работу, другие действия выполнить нельзя. Все несерверные инструменты являются синхронными. Серверные инструменты могут быть асинхронными, т.е., начав выполнение инструмента на сервере, можно одновременно использовать другую функциональность, при этом результаты выполнения инструмента должны быть явным образом запрошены у сервера.
Синтаксис
Параметр | Объяснение | Тип данных |
tool_name |
Имя инструмента, для которого нужно определить, является ли он синхронным. | String |
Тип данных | Объяснение |
Boolean |
Возвращенное Булево значение Истина указывает на то, что инструмент является синхронным. |
Пример кода
Определяет, работает ли серверный инструмент в синхронном режиме.
import time
import arcpy
# Add server toolbox from a local ArcGIS for 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")