摘要
确定工具是同步运行还是异步运行。当工具为同步运行时,会自动返回结果,但在完成同步之前不能执行任何其他操作。所有非服务器工具都是同步运行的。服务器工具可以是异步运行的,即向服务器提交某个工具后,无需等待即可使用其他功能,但必须向服务器明确请求结果。
语法
IsSynchronous (tool_name)
参数 | 说明 | 数据类型 |
tool_name | 确定其是否同步的工具的名称。 | String |
返回值
数据类型 | 说明 |
Boolean | 返回布尔值 True,表示工具是同步运行。 |
代码示例
IsSynchronous 示例
确定某服务器工具是否同步运行。
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")