Подтвердить что ты не робот

Как эмулировать задания cron на Windows Server?

Я запускаю .NET в окне окна, и я хотел бы, чтобы функция запускалась каждую ночь в полночь. Конечно, поскольку HTTP-апатрид и Windows не имеют функцию типа "cron job" (что я знаю), мне придется либо посещать мой сайт каждый вечер в полночь, либо просто ждать, пока пользователь посетит сайт, чтобы полагаться при этом он обновляется.

Есть ли альтернатива этому, что я могу создать, где что-то будет автоматически запускаться в определенное время?

Спасибо

4b9b3361

Ответ 1

Если ни один из других ответов не работает для вас, выберите вариант:

Существует множество служб мониторинга сервера, которые будут делать HTTP-вызов на ваш сайт через регулярные промежутки времени (каждую минуту, если хотите). Вы можете получить 5-минутные интервалы бесплатно на некоторых из них.

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

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

Ответ 2

Я уверен, что планировщик задач Windows может делать большинство вещей, которые может выполнять cron. Но я мог бы что-то упустить.

Изменить: достигнуто в настройках → Панель управления → Запланированные задания

Ответ 3

Джефф Аттвуд в какой-то момент в подкасте упомянул грязный взломать использование обратного вызова кэш-памяти для подделки.

Он вставил элемент в .Net Cache с истечением срока действия 2 часа и обратным вызовом, чтобы получить вызов после истечения срока действия элемента, и это был его cron.

Я думаю, что это была статья:
http://www.codeproject.com/KB/aspnet/ASPNETService.aspx?display=Print

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

Кроме того, существуют внешние службы cron, на которые вы указываете URL-адрес, и они будут "пинговать" его регулярно, например: (они не являются бесплатными)
http://webcron.org/
http://www.webbasedcron.com/

Ответ 5

Если у вас есть доступ к командной строке, вы можете попробовать команду "at", которая похожа на ультралегкий cron:

http://support.microsoft.com/kb/313565

Ответ 6

вы также можете взглянуть на Quartz.Net http://quartznet.sourceforge.net/, который является планировщиком

Ответ 8

Используйте класс Timer для создания таймера, который периодически вызывает метод, который будет выполняться.

Статический таймер можно запустить в событии Application_Start в глобальном классе. Поскольку таймер использует интервал, а не абсолютное время, вам нужно будет рассчитать временной интервал до полуночи и установить свойство Interval соответственно.

Ответ 9

Похоже на GoDaddy имеет положения для этого, но есть больше, чем один способ сделать это: Когда вы устанавливаете Drupal, вам нужно настроить работу cron, и я узнал, что участники проекта задокументировали этот шаг. Перейдите в http://drupal.org/cron для получения дополнительной информации и не забудьте прочитать http://drupal.org/node/31506 для конкретной информации Windows. Если все остальное не удается, google для "работы в Интернете cron" и используйте коммерческую услугу "cron job". Выбирайте тщательно, не срывайте.

Ответ 10

Я также сталкиваюсь с той же проблемой. Я хочу запустить ASP.NET с MSSQL в GoDaddy. Но у них нет задачи scheule для хостинга Windows. Прочитав сообщение, я сделал свой собственный google и нашел этот бесплатный планировщик заданий для работы в Интернете:

Я просто попробовал, и он отлично работает... ну почти. Срок действия задания истекает через 1 год.

http://www.setcronjob.com/

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

Ответ 12

В поисках ответа на тот же вопрос я нашел этот пост (quartz-net-with-asp-net) с инструкцией по установке для Quartz.NET ( "Планировщик рабочих заданий для платформы .NET" с их сайта) даже изнутри приложения ASP.NET.

Добавил его здесь в основном для справки.