Общий хостинг Windows - пользовательское запланированное задание - PullRequest
3 голосов
/ 09 марта 2011

У меня есть хостинг на Windows, и мне нужно каждый день запускать какой-нибудь запланированный исполняемый файл c # для создания карты сайта, отправки новостной рассылки и т. Д.причина.Что я могу сделать?

Провайдер предлагает мне купить VPS, но не думаю, что имеет смысл тратить больше денег только на выполнение какого-то запланированного задания.

Существует ли альтернативный способ?

Ответы [ 5 ]

7 голосов
/ 09 марта 2011

Джефф Этвуд создал запись в блоге на эту тему.

Короче говоря:

  • Добавить элемент в кеш
  • Срок действия истекает в выбранном вами интервале
  • Добавление триггера для выполнения по истечении срока действия кэша
  • Повторно добавьте свой предмет в триггер

Я бы сначала рассмотрел решение от Энди , им легче управлять.

3 голосов
/ 26 августа 2013

Вы можете использовать ATrigger Служба планирования на виртуальном хостинге просто .Библиотека .Net также доступна для создания запланированных задач без дополнительных затрат.Также у вас есть панель отчетов для перечисления задач и регистрации всех возможных ошибок.

Отказ от ответственности: Я был в команде ATrigger.Это бесплатная программа, и у меня нет коммерческих целей.

1 голос
/ 09 марта 2011

Реализуйте свою ежедневную задачу на странице asp.net на вашем общем сервере.Затем настройте на компьютере, к которому у вас есть полный доступ, процесс запроса этой страницы один раз в день в назначенное время.

Если обработка один раз в день занимает много времени, то выможет сделать это в теме, созданной на странице.Это остановит тайм-аут запроса.

Чтобы предотвратить злоупотребление, вы можете дать странице неясное имя, ограничить доступ через IP-адрес (если это разрешено панелью управления общего сервера) и / или потребовать аутентификацию с помощьюпроцесс запроса.Страница также может хранить время последнего запроса в кеше и выполнять необходимую обработку только в том случае, если с момента последнего запроса прошло достаточно времени.

0 голосов
/ 25 ноября 2015

В панели общего хостинга есть расписание задач.http://pasteboard.co/2oBUrVeM.png

Вы можете вызвать URL вашего метода действия, который отправляет электронные письма.

0 голосов
/ 09 марта 2011

Это не идеально, но вы можете наследовать все свои страницы от базовой страницы (страницы, которая наследует System.Web.UI.Page и последующие страницы наследуются от этого), и при каждой загрузке страницы (в базовой странице) вы можете проверить таблица базы данных задач, которые должны выполняться на определенных таймфреймах. Если при заданной загрузке страницы задание, которое должно быть выполнено, выбрано в определенный момент времени и соответствует (или уже прошло) странице, запрошенной, вы можете запустить ее в это время.

К сожалению, это зависит от того, посетит ли пользователь ваш сайт в то время, когда вы хотите, чтобы работа была запущена. Кроме того, еще одним недостатком может быть то, что если пользователь, который запросил страницу, может ожидать, если ваша работа выполняется синхронно с выполнением оставшейся части страницы.

Надеюсь, это поможет.

...