В чем преимущества использования запланированных задач Web.config, например, запланированных задач Windows - PullRequest
1 голос
/ 08 октября 2010

Мы думаем о способах максимально упорядочить наши запланированные задачи, перетаскивая множество задач из файлов web.config, специфичных для веб-сайта, в одну задачу расписаний Windows.Я могу представить, что это имеет некоторые негативные последствия, но я хочу перечислить их, чтобы составить себе хорошее объяснение того, что будет работать лучше всего.У нас есть разные типы задач, которые нужно выполнять периодически, например:

  • Keepalive <- вызывает страницу, чтобы веб-сайт не перекомпилировался каждые 20 минут (настройка iis) </li>
  • Импорт на разных веб-сайтах, которые мы запускаем <- Импорт, например, объектов, которые должны быть помещены в базу данных Sitecore. </li>

Sitecore имеет свой собственный планировщик, который позволяет легко выполнять импорт, простоиспользуя этот планировщик.С другой стороны, у Sitecore также есть собственный параметр «KeepAlive» в файле web.config, который обеспечивает более быструю работу веб-сайта.

Какими будут плюсы и минусы по этому вопросу и что вы посоветуете?Сохранить запланированные задачи?Разделить обычный импорт из задач Keepalive и поместить одно из них в централизованную среду?

Ответы [ 2 ]

1 голос
/ 18 октября 2010

Собственное планирование Sitecore выполняется в контексте Sitecore, это означает, что вы можете легко общаться с Sitecore таким образом, но приложение должно быть активным для выполнения задачи.Именно по этой причине невозможно запустить запланированный агент в определенное время, только через запланированные интервалы, поскольку нет гарантии, что приложение в данный момент исправно.

Задачи Windows выполняются внеконтекста и может быть запланировано в определенное время, но в этом подходе отсутствует столь необходимый контекст Sitecore, который может немного усложнить разработку, но вы всегда можете создать веб-сервис Sitecore для этого.

Среди реального мираПримеры, которые я видел, где был реализован подход планировщика Windows, - сценарий с «публикацией в определенное время»: http://sitecoreblog.alexshyba.com/2007/02/publish-at-specific-time.html Также я видел реализованные большие объемы данных, подобные тому, о котором вы говорите.Вы можете в значительной степени запустить импорт кода вне контекста Sitecore в консольном приложении.Имея доступ к Sitecore.Configuration.Factory, вы можете создавать экземпляры баз данных, получать элементы и создавать элементы.Это все, что вам нужно.Кроме того, более эффективно запускать такой код в контексте http.

0 голосов
/ 10 декабря 2010

Существует также третий вариант.

В Sitecore вы можете создавать задачи в sitecore / system / tasks / schedules /

, которая, в свою очередь, вызывает команду в sitecore / system / tasks /Команды /

, которые вы можете создать со ссылкой на метод, который запускается.

Я сам не пробовал, поэтому не могу помочь намного больше.

Но там вы можете установить определенное время.

Здесь есть некоторая помощь (хотя это для Sitecore 5.3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...