Administrar el estado de la caché del servidor de mapas (Servidor)

Resumen

Administra los datos internos mantenidos por el servidor sobre las teselas construidas en la caché de un servicio de mapas o imágenes.

Uso

  • Esta herramienta es útil para volver a crear el estado de la caché después de copiar manualmente las teselas en el directorio de caché o crear teselas según demanda.

  • Esta herramienta es la única forma de crear un estado para una caché creada a su vez con una versión anterior de ArcGIS Server o Portal for ArcGIS.

  • En lugar de crear un estado para toda la caché, puede usar alternativamente esta herramienta para crear informes de estado para áreas personalizadas de interés y niveles de escala. Esto se consigue estableciendo el parámetro Administrar modo (manage_mode en Python) en REPORT_BUNDLE_STATUS. El informe se almacena en una nueva geodatabase de archivos denominada Status.gdb, concretamente en una clase de entidad denominada TaskStatus.

    Tenga en cuenta que el directorio de la caché también contiene un Status.gdb que pertenece a toda la caché y se actualiza cuando se usan las otras opciones de Administrar modo para esta herramienta. No puede sustituir un Status.gdb personalizado en esta ubicación.

Sintaxis

arcpy.server.ManageMapServerCacheStatus(input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
ParámetroExplicaciónTipo de datos
input_service

La capa de imágenes de mapa para la que se modificará el estado de caché. Puede elegirla yendo al servicio deseado en Portal o bien puede arrastrar y soltar una capa de teselas web desde el panel Catálogo, pestaña Portal para proporcionar este parámetro.

Image Service; MapServer
manage_mode
  • DELETE_CACHE_STATUSElimina la información de estado utilizada por el servidor.
  • REBUILD_CACHE_STATUSElimina y, a continuación, vuelve a crear la información de estado utilizada por el servidor.
  • REPORT_BUNDLE_STATUSCrea información de estado en una nueva geodatabase de archivos denominada Status.gdb en la carpeta que especifique en el parámetro Carpeta de salida. Esta opción se usa si desea crear un informe de estado personalizado para un área de interés o un conjunto de escalas en particular.
String
scales
[scales,...]
(Opcional)

Los niveles de escala para los que se modificará el estado. Este parámetro solo es aplicable cuando se crea un estado personalizado mediante la opción REPORT_BUNDLE_STATUS para el parámetro manage_mode.

Double
num_of_caching_service_instances
(Opcional)

Define la cantidad de instancias que se utilizarán para actualizar/generar las teselas. El valor de este parámetro está establecido en sin límite (-1) y no se puede modificar.

Long
report_folder
(Opcional)

Carpeta de salida para el Status.gdb. Este parámetro solo es aplicable al crear un estado personalizado mediante la opción REPORT_BUNDLE_STATUS.

Folder
area_of_interest
(Opcional)

Un área de interés (polígono) que determina la geografía que abarcará el informe de estado. Este parámetro solo es aplicable al crear un estado personalizado mediante la opción REPORT_BUNDLE_STATUS.

Feature Set
report_extent
(Opcional)

Una extensión rectangular que define el área para la que se creará el estado. Este parámetro solo es aplicable cuando se crea un estado personalizado mediante la opción REPORT_BUNDLE_STATUS.

Observe que el parámetro area_of_interest permite especificar un área de interés no rectangular.

  • MAXOF: se utilizará la extensión máxima de todas las entradas.
  • MINOF: se utilizará el área mínima en común de todas las entradas.
  • DISPLAY: la extensión es igual a la visualización actual.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent

Salida derivada

NombreExplicaciónTipo de datos
output_folder

La URL de servicio de salida.

Cadena

Muestra de código

Ejemplo de ManageMapServerCacheStatus (script independiente)

Elimine la información de estado de una caché.

# 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,
                                                     manageMode, scales,
                                                     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 as 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(str(e))

report.close()

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados