Краткая информация
Удаляет существующий кэш картографического сервиса или сервиса изображений, включая все связанные файлы на диске.
Использование
Это необратимая операция, поэтому используйте ее, только если уверены, что кэш больше не нужен. Если вы хотите удалить листы, но сохранить структуру папки кэша и схемы листов, используйте инструмент Управление листами кэша картографического сервиса (Manage Map Server Cache Tiles) с параметром Режим обновления (Update Mode), установленным в состояние Удаление листов (Delete Tiles).
После запуска этого инструмента сервис будет перезапущен.
Синтаксис
DeleteMapServerCache_server (input_service, {num_of_caching_service_instances})
Параметр | Объяснение | Тип данных |
input_service | Картографический сервис или сервис изображений, кэш которого будет удален. Это строка, содержащая информацию как о сервере, так и о сервисе. Чтобы узнать, как сформировать эту строку, откройте ArcCatalog, выберите свой сервис в дереве каталога и обратите внимание на текст на панели инструментов Местоположение (Location). Затем поменяйте обратные косые черты на прямые, например GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | String |
num_of_caching_service_instances (Дополнительный) | Общее количество экземпляров сервиса System/CachingTools, которые вы хотите выделить для работы этого инструмента. Вы можете увеличить Максимальное число экземпляров на компьютер (maximum number of instances per machine) сервиса System/CachingTools с помощью окна Редактор сервисов (Service Editor), доступного через административное подключение к ArcGIS for Server. Убедитесь, что ваши серверы смогут поддерживать выбранное количество экземпляров. Для успешной работы инструменту Удалить кэш картографического сервера (Delete Map Server Cache) требуется минимум два экземпляра. | Long |
Пример кода
Пример DeleteMapServerCacheЭтот пример использует DeleteMapServerCache, чтобы удалить кэш для картографического сервиса под названием Rainfall.
# 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()
Параметры среды
Этот инструмент не использует параметры среды геообработки
Информация о лицензиях
- ArcGIS Desktop Basic: Да
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да