Kartenserver-Cache löschen (Server)
Zusammenfassung
Löscht einen bestehenden Karten- oder Image-Service-Cache einschließlich aller zugehörigen Festplattendaten.
Verwendung
Dieser Vorgang kann nicht rückgängig gemacht werden. Vergewissern Sie sich daher vor dem Löschen des Cache, dass dieser nicht mehr benötigt wird. Um alle Kacheln zu löschen, die Cache-Ordnerstruktur und das Kachelschema jedoch beizubehalten, führen Sie das Werkzeug Cache-Kacheln für Kartenserver verwalten aus, wobei der Aktualisierungsmodus auf Delete_Tiles (Kacheln löschen) festgelegt sein muss.
-
Nach dem Ausführen dieses Werkzeugs wird der Service neu gestartet.
Syntax
Parameter | Erläuterung | Datentyp |
input_service | Der Karten- oder Image-Service, dessen Cache gelöscht wird. Dies ist eine Zeichenfolge, die sowohl die Server- als auch die Service-Informationen enthält. Um zu erfahren, wie diese Zeichenfolge erstellt wird, öffnen Sie ArcCatalog, wählen Sie Ihren Service im Kataloginhaltsverzeichnis aus, und beachten Sie den Text in der Werkzeugleiste Verzeichnis. Ändern Sie dann die umgekehrten Schrägstriche in Schrägstriche, z. B. GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | String |
num_of_caching_service_instances (optional) |
Die Gesamtzahl der Instanzen des Service "System/CachingTools", die Sie zum Ausführen dieses Werkzeugs reservieren möchten. Sie können die Maximale Anzahl von Instanzen pro Computer des Service "System/CachingTools" mithilfe des Fensters Service-Editor erhöhen, das über eine administrative Verbindung zu ArcGIS-Server verfügbar ist. Stellen Sie sicher, dass die Servercomputer die ausgewählte Anzahl von Instanzen unterstützen können. Das Werkzeug Kartenserver-Cache löschen erfordert mindestens zwei erfolgreich ausgeführte Instanzen. | Long |
Codebeispiel
DeleteMapServerCache - Beispiel
In diesem Beispiel wird "DeleteMapServerCache" verwendet, um einen Cache für einen Karten-Service mit dem Namen "Rainfall" zu löschen.
# Name: DeleteMapServerCache.py
# Description: The following stand-alone script demonstrates how to delete map server cache
# tiles if the corresponding cache schema or tiles has been created
# Requirements: os, sys, time & traceback modules
# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"
# Import system modules
import arcpy
from arcpy import env
import os, sys, time, datetime, traceback, string
# Set environment settings
env.workspace = "C:/data"
# List of variables for mapservice properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
numOfCachingServiceInstances = 2
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1
# print results of the script to a report
report = open (file,'w')
# To Recreate all the tiles for the default number of scales generated
try:
starttime = time.clock()
result = arcpy.DeleteMapServerCache_server(inputService,
numOfCachingServiceInstances)
finishtime = time.clock()
elapsedtime = finishtime - starttime
#print messages to a file
while result.status < 4:
time.sleep(0.2)
resultValue = result.getMessages()
report.write ("completed " + str(resultValue))
print "Deleted cache tiles & schema for mapservice " + serviceName
"\n in " + str(elapsedtime) + " sec \n on " + arg2
except Exception, e:
# If an error occurred, print line number and error message
tb = sys.exc_info()[2]
report.write("Failed at \n" "Line %i" % tb.tb_lineno)
report.write(e.message)
print "Deleted Map server Cache Tiles "
report.close()