Пакетный процесс на стороне сервера в среде общего хостинга
-
11-09-2019 - |
Вопрос
Я пишу веб-сайт, который будет размещен на общем хостинге.Как следствие, у меня не будет никакого доступа к таким вещам, как планировщик задач.Веб-сайту необходимо выполнять различные проверки на полдня.Каков наилучший способ выполнения этих задач в данном сценарии?
Две лучшие вещи, которые я мог придумать, где:
- Запускайте процесс каждый раз, когда пользователь попадает на мой сайт - выполните какую-нибудь проверку, чтобы узнать, когда процесс запускался в последний раз, и, если он превышает 12 часов, запустите процесс.
- Создайте какую-нибудь скрытую страницу, на которой запускаются процессы, а затем попросите какой-нибудь внешний объект пинговать эту страницу с интервалом в 12 часов.
Оба метода кажутся немного запутанными?
Решение
вы можете использовать небольшой трюк, который использует asp.net кэш - память.
Другие советы
Определенно не используйте свой вариант № 2, если только у вас нет какой-либо защиты от его случайного запуска.
Вы также не хотите, чтобы ваша обработка зависела от запросов пользователей.Что произойдет, если у вас выдастся очень неспешный день (скажем, праздник в сочетании с каким-нибудь большим сбором клетчатки) и какое-то время никто не зайдет на сайт?