Manages internal data kept by the server about the built tiles in a map or image service cache.
Usage
This tool is useful for rebuilding the cache status after you manually copy tiles into the cache directory or build tiles on demand.
This tool is the only way to build a status for a cache created with a previous release of ArcGIS Server or Portal for ArcGIS.
Rather than creating a status for the entire cache, you can alternatively use this tool to create status reports for custom areas of interest and scale levels. You do this by setting the Manage Mode parameter to Rebuild bundle status. The report is stored in a new file geodatabase named Status.gdb, specifically within a feature class named TaskStatus.
Note that your cache directory also contains a Status.gdb that pertains to the entire cache and is updated when you use the other Manage Mode options for this tool. You cannot substitute a custom Status.gdb in this location.
The map image layer for which the cache status will be modified. You can choose it by browsing to the desired service in Portal or you can drag and drop a web tile layer from the Catalog pane Portal tab to supply this parameter.
Image Service; Map Server
Manage Mode
Specifies the action that will be performed on the cache status information used by the server.
Delete cache status—Deletes the status information used by the server.
Rebuild cache status—Deletes, then rebuilds the status information used by the server.
Rebuild bundle status—Creates status information in a new file geodatabase named Status.gdb in a folder you specify in the Output Folder parameter. This option is used when you want to create a custom status report for a particular area of interest or set of scales.
String
Scales
(Optional)
The scale levels for which the status will be modified. This parameter is only applicable when building a custom status using the Rebuild bundle status option for the Manage Mode parameter.
Double
Number of caching service instances
(Optional)
Defines the number of instances that will be used to update/generate the tiles. The value for this parameter is set to unlimited (-1) and cannot be modified.
Long
Output Folder
(Optional)
Output folder for the Status.gdb. This parameter is only applicable when building a custom status using the Rebuild bundle status option.
Folder
Area Of Interest
(Optional)
An area of interest (polygon) that determines what geography the status report will cover. This parameter is only applicable when building a custom status using the Rebuild bundle status option.
Feature Set
Report Extent
(Optional)
A rectangular extent defining the area for which the status will be built. This parameter is only applicable when building a custom status using the Rebuild bundle status option.
Note that the Area Of Interest parameter allows you to specify an area of interest that is nonrectangular.
Current Display Extent—The extent will be based on the active map or scene.
Draw Extent—The extent will be based on a rectangle drawn on the map or scene.
Extent of a Layer—The extent will be based on an active map layer. Choose an available layer or use the Extent of data in all layers option. Each map layer has the following options:
All Features—The extent of all features.
Selected Features—The extent of the selected features.
Visible Features—The extent of visible features.
Browse—The extent will be based on a dataset.
Clipboard—The extent can be copied to and from the clipboard.
Copy Extent—Copies the extent and coordinate system to the clipboard.
Paste Extent—Pastes the extent and coordinate system from the clipboard. If the clipboard does not include a coordinate system, the extent will use the map's coordinate system.
Reset Extent—The extent will be reset to the default value.
When coordinates are manually provided, the coordinates must be numeric values and in the active map's coordinate system. The map may use different display units than the provided coordinates. Use a negative value sign for south and west coordinates.
The map image layer for which the cache status will be modified. You can choose it by browsing to the desired service in Portal or you can drag and drop a web tile layer from the Catalog pane Portal tab to supply this parameter.
Image Service; Map Server
manage_mode
Specifies the action that will be performed on the cache status information used by the server.
DELETE_CACHE_STATUS—Deletes the status information used by the server.
REBUILD_CACHE_STATUS—Deletes, then rebuilds the status information used by the server.
REPORT_BUNDLE_STATUS—Creates status information in a new file geodatabase named Status.gdb in a folder you specify in the report_folder parameter. This option is used when you want to create a custom status report for a particular area of interest or set of scales.
String
scales[scales,...]
(Optional)
The scale levels for which the status will be modified. This parameter is only applicable when building a custom status using the REPORT_BUNDLE_STATUS option for the manage_mode parameter.
Double
num_of_caching_service_instances
(Optional)
Defines the number of instances that will be used to update/generate the tiles. The value for this parameter is set to unlimited (-1) and cannot be modified.
Long
report_folder
(Optional)
Output folder for the Status.gdb. This parameter is only applicable when building a custom status using the REPORT_BUNDLE_STATUS option.
Folder
area_of_interest
(Optional)
An area of interest (polygon) that determines what geography the status report will cover. This parameter is only applicable when building a custom status using the REPORT_BUNDLE_STATUS option.
Feature Set
report_extent
(Optional)
A rectangular extent defining the area for which the status will be built. This parameter is only applicable when building a custom status using the REPORT_BUNDLE_STATUS option.
Note that the area_of_interest parameter allows you to specify an area of interest that is nonrectangular.
MAXOF—The maximum extent of all inputs will be used.
MINOF—The minimum area common to all inputs will be used.
DISPLAY—The extent is equal to the visible display.
Layer name—The extent of the specified layer will be used.
Extent object—The extent of the specified object will be used.
Space delimited string of coordinates—The extent of the specified string will be used. Coordinates are expressed in the order of x-min, y-min, x-max, y-max.
Extent
Derived output
Name
Explanation
Data type
output_folder
The output service URL.
String
Code sample
ManageMapServerCacheStatus example (stand-alone script)
Delete the status information for a cache.
# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# Any line that begins with a pound sign is a comment and will not be run
# 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
import sys
import time
import datetime
# Set environment settings
arcpy.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 = f"{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 = f'C:/data/report_{arg1}.txt'
# 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.server.ManageMapServerCacheStatus(
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(f"completed {resultValue}")
print(f"Reported the Bundle status for scale = {scales[-1]} of {serviceName} at {outputFolder}")
print(f"using specified feature class {areaOfInterest} in {elapsedtime} sec {arg2}")
except Exception as err:
# If an error occurred, print line number and error message
tb = sys.exc_info()[2]
report.write(f"Failed at step 3 \nLine {tb.tb_lineno}")
report.write(str(err))
report.close()
Environments
This tool does not use any geoprocessing environments.