По умолчанию Kentico выполняет свои запланированные задачи в хвосте обычных веб-запросов.Это нормально, если у вас есть трафик 24/7.Если вы этого не сделаете, то вы можете столкнуться со всеми видами неприятностей, включая проблему, которую вы сейчас описываете, потому что запланированные задачи не выполняются.
Если вы работаете на сервере Windows, вы можете настроить служба для запуска запланированных задач .Если это не вариант, вы можете настроить мониторинг так, чтобы он заходил на ваш сайт каждые пару минут, например UptimeRobot или Application Insights .Вы получите дополнительный бонус за уведомление, когда сайт закрывается.
Если вам действительно нужно очистить контакты EMS, потому что это выходит из-под контроля, вы можете получить доступ к базе данных напрямую и активировать тот же самый сохраненныйпроцедура, которую использует запланированная задача.Он называется [Proc_OM_Contact_MassDelete]
и принимает предложение where и размер пакета.В предложении where указывается политика удаления.Например,
ContactCreated < GETDATE()-60 AND ([ContactEmail] IS NULL PR [ContactEmail]='')
В этом предложении where хранимая процедура будет обрабатывать контакты, созданные более 60 дней назад и не имеющие адреса электронной почты.
Обратите внимание, чтобольшие объемы данных EMS потребуют настройки индекса базы данных для выполнения этой процедуры в течение приемлемого периода времени.Это верно для EMS в целом, когда ваш сайт имеет приличный объем трафика.
Если стандартная очистка Kentico не работает, например, потому что база данных не может обрабатывать миллионы контактов, мынаписал скрипт для очистки всех данных EMS .Используйте с осторожностью;)