Gérer l'état d’un cache de serveur de carte (Serveur)
Récapitulatif
Gère des données internes conservées par le serveur qui concernent les tuiles générées dans un cache de service de carte ou d'imagerie.
Utilisation
- Cet outil peut supprimer ou recréer les informations sur l'état du cache. Il est utile si vous avez modifié l'état de votre cache en effectuant des copies manuelles dans les tuiles ou en créant des tuiles à la demande. Vous pouvez également l'utiliser pour créer l'état d'un cache conçu avec une version antérieure d'ArcGIS Server.
Syntaxe
Paramètre | Explication | Type de données |
input_service | Nom du service de carte ou d'imagerie dont l'état sera modifié. Cette chaîne contient les informations relatives au serveur et au service. Pour savoir comment construire cette chaîne, ouvrez ArcCatalog, sélectionnez votre service dans l'arborescence du catalogue et notez le texte dans la barre d'outils Emplacement. Remplacez les barres obliques inverses par des barres obliques, par exemple, GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | String |
scales |
Il est prévu d'utiliser ce paramètre dans les prochaines versions d'ArcGIS. | Double |
manage_mode |
| String |
num_of_caching_service_instances |
Nombre total d'instances du service des outils de mise en cache du dossier système que vous souhaitez utiliser pour exécuter cet outil. Vous pouvez augmenter le nombre maximum d'instances par machine du service des outils de mise en cache du dossier système en ouvrant la fenêtre Editeur de services via une connexion administrateur à ArcGIS Server. Assurez-vous que vos machines serveur peuvent prendre en charge le nombre d'instances sélectionné. | Long |
report_folder |
Il est prévu d'utiliser ce paramètre dans les prochaines versions d'ArcGIS. | Folder |
report_extent (Facultatif) |
Il est prévu d'utiliser ce paramètre dans les prochaines versions d'ArcGIS. | Extent |
area_of_interest (Facultatif) |
Il est prévu d'utiliser ce paramètre dans les prochaines versions d'ArcGIS. | Feature Set |
Exemple de code
Exemple +++Gérer l'état d’un cache de serveur de carte
Supprime les informations d'état d'un cache.
# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# Requirements: os, sys, time and 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 input variables for map service properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapService"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = ""
manageMode = "DELETE_CACHE_STATUS"
numOfCachingServiceInstances = "2"
outputFolder = ""
areaOfInterest = ""
reportExtents = ""
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')
# use "scales[0]","scales[-1]","scales[0:3]"
try:
starttime = time.clock()
result = arcpy.ManageMapServerCacheStatus_server(inputService, scales[-1],
manageMode,
numOfCachingServiceInstances,
outputFolder,
areaOfInterest,
reportExtents)
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 "Reported the Bundle status for scale =" + str(scales[-1]) + "of "
serviceName + "at " + outputFolder + "\n using specified feature class "
areaOfInterest + " 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 step 3 \n" "Line %i" % tb.tb_lineno)
report.write(e.message)
report.close()