IsSynchronous

摘要

确定工具是同步运行还是异步运行。当工具为同步运行时,会自动返回结果,但在完成同步之前不能执行任何其他操作。所有非服务器工具都是同步运行的。服务器工具可以是异步运行的,即向服务器提交某个工具后,无需等待即可使用其他功能,但必须向服务器明确请求结果。

语法

IsSynchronous (tool_name)
参数说明数据类型
tool_name

确定其是否同步的工具的名称。

String
返回值
数据类型说明
Boolean

返回布尔值 True,表示工具是同步运行。

代码示例

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")

相关主题