Answers:
在ArcGIS 10.0中,对于单个服务(例如,您可以通过命令行来维护ArcIMS),可以从代码库(AGSSOM)下载一个命令行工具,该工具为您提供主要领域的核心,但没有针对特定服务的细粒度“您可以在此时用来启动/停止/刷新/添加/删除AGS服务的级别控制。
在idea.arcgis.com上有几个地方,要求从更自动化的位置改善对服务的控制。
对于那些使用ArcGIS 10.0并希望按照DE Wright的建议使用AGSSOM的用户,我整理了以下代码。这将停止所有允许您执行必要的地理数据库任务的服务,然后重新启动以前运行的服务。
import os, subprocess
#Get list of currently running map services
stream = os.popen('D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe -list')
mapservices = stream.readlines()
lstStarted = []
for item in mapservices:
itemSplit = item.split(',')
if len(itemSplit) > 1:
if itemSplit[1].find("Started.") > -1:
lstStarted.append(itemSplit[0])
#Shutdown all map services
subprocess.call(['D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe', '-x', '*all*'])
##...Perfom geodatabase tasks here
#Restart previously running map services
for mapservice in lstStarted:
subprocess.call(['D:\GIS\Admin\AGSSOMv10.0\AGSSOM.exe', '-s', mapservice])
与Jeff Berry在回答中所说的一样,我编写了一个小函数,该函数将使用AGSSOM工具管理ArcGIS Server 10.0地图服务。
就我而言,我按名称分别呼叫服务,一次停止并启动一个。
import subprocess
def manageMapServices(command, svc, svcType):
PathToAGSSOM = r"C:\Windows\AGSSOMUtils\AGSSOM"
server = "AGSSOM"
p = subprocess.Popen(PathToAGSSOM + " " + server + " " + command + " " + svc + " " + svcType)
p.wait()
然后,可以使用-x停止并使用-s启动按名称来调用服务:
manageMapServices("-s", "Folder/Service", "MapServer")
对于ArcGIS 10.7和某些早期版本,可以在此处找到停止,启动,删除和其他功能的完整Python脚本集:http : //www.arcgis.com/home/item.html?id= 12dde73e0e784e47818162b4d41ee340(如果您绝对需要完整的可执行文件,则内部还有一个.exe)
或深入了解帮助并在此处了解许多选项(开箱即用的命令行,python API,代码段):https : //enterprise.arcgis.com/en/server/latest/administer/linux/scripting-arcgis -server-administration.htm
但是,所有这些要点都作为其他答案包含在您引用的问题中。AGSSOM是为Server 10.0和更早版本编写的.net实用程序。有一个10.1和较新的版本,但是由于您不需要繁重的C#/ vb代码来与服务器接口,因此它从未获得普及。Server 10.1+发行时使用了结构良好的REST API,允许使用高级语言(例如Python),从而使更多的读者可以编写脚本和对其进行管理,而无需使用繁重的 assom.exe实用程序。
在ArcGIS for Server 10.1+中,您可以使用ArcGIS Server管理工具包-10.1+
从描述(粗俗是我的):
ArcGIS Server管理工具包为您提供工具和脚本,以帮助您管理ArcGIS Server。这些工具尚未使用Python编写,并已连接到ArcGIS Server的REST Admin,可让您快速轻松地执行一些常见的管理功能,包括:-列表项
- 停止,启动或删除服务
- 重命名服务
- 修改日志级别并清除旧日志
- 上载并注册SOE
- 从查看地图服务的位置创建要素类(通过检查日志)
- 发布服务定义(.SD)
该套件中的工具以三种主要方式提供:工具,代码和独立可执行文件。