Лучший способ выполнить [закрытые] запланированные задачи

Аргументы вашего my_custom_func_loss не имеют никакого отношения к вашим истинным ярлыкам, то есть labm. Вы можете сохранить путь, как сейчас.

Внутренне GridSearchCV будет вызывать функцию оценки, поэтому ваши истинные метки не конфликтуют там. y_pred будет прогнозируемыми значениями, сгенерированными из выходных данных модели. y_true будет присвоено значение labm.

225
задан ankita alung 22 May 2013 в 23:18
поделиться

13 ответов

Всех моих задач (который должен быть запланирован) для веб-сайта остаются в рамках веб-сайта и называют от специальной страницы. Я затем записал простую службу Windows, которая называет эту страницу время от времени. После того как страница работает, она возвращает значение. Если я знаю, что существует больше работы, которая будет сделана, я выполняю страницу снова, сразу же, иначе я выполняю ее скоро. Это работало действительно хорошо на меня и сохраняет всю мою логику задачи с веб-кодом. Прежде, чем записать простую службу Windows, я использовал планировщик Windows для вызова страницы каждый x минуты.

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

74
ответ дан Brettski 23 November 2019 в 03:55
поделиться

Одна опция состояла бы в том, чтобы настроить сервис окон и заставить это называть Вашу запланированную задачу.

В winforms я использовал помещенные Таймеры, не думают, что это работало бы хорошо в ASP.NET

0
ответ дан AJM 23 November 2019 в 03:55
поделиться

Мы используем консольные приложения также. При использовании инструментов входа как Log4net, можно правильно контролировать их выполнение. Кроме того, я не уверен, как их более трудно поддержать, чем веб-страница, учитывая Вас может совместно использовать некоторые из тех же библиотек кода между двумя, если она разработана правильно.

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

Hope те предложения справка.

0
ответ дан Kyle Ballard 23 November 2019 в 03:55
поделиться

Вот иначе:

1) Создают веб-сценарий "heartbeat", который ответственен за запуск задач, если они являются ДОЛЖНЫ или запоздалыми, чтобы быть запущенными.

2) Создают запланированный процесс где-нибудь (предпочтительно на том же веб-сервере), который поражает webscript и вынуждает его работать в равном интервале. (например, окна планируют задачу, которая бесшумно запускает heatbeat сценарий с помощью IE или whathaveyou)

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

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

1
ответ дан Matias Nino 23 November 2019 в 03:55
поделиться

Я использовал Abidar успешно в проекте ASP.NET (вот являются приблизительно справочной информацией ).

единственная проблема с этим методом состоит в том, что задачи не будут работать, если веб-приложение ASP.NET будет разгружено из памяти (т.е. из-за низкого использования). Одна вещь, которую я попробовал, создает задачу поражать веб-приложение каждые 5 минут, поддерживая его, но это, казалось, не работало надежно, поэтому теперь я использую планировщик Windows и основное консольное приложение, чтобы сделать это вместо этого.

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

2
ответ дан Mun 23 November 2019 в 03:55
поделиться

Я не уверен, какие запланированные задачи Вы имеете в виду. Если Вы имеете в виду материал как "каждый час, обновляете foo.xml" задачи типа, то используйте систему Windows Scheduled Tasks. ("При" команде, или через контроллер.) Имеют его или запускают консольное приложение или запрашивают специальную страницу, которая начинает процесс.

Редактирование: Я должен добавить, это - OK способ получить Ваше приложение IIS, работающее в запланированных точках также. Поэтому предположите, что Вы хотите проверить свой DB каждые 30 минут и почтовые напоминания пользователям о некоторых данных, можно использовать запланированные задачи, чтобы запросить эту страницу и следовательно получить вещи обработки IIS.

, Если Ваши потребности более сложны, Вы могли бы полагать, что создание службы Windows и выполнение его цикл сделали безотносительно обработки, Вам нужно. Это также обладает преимуществом выделения кода в целях управления или масштабировании. На оборотной стороне необходимо иметь дело со службами Windows.

2
ответ дан MichaelGG 23 November 2019 в 03:55
поделиться

При владении сервером, необходимо использовать планировщика задач окон. Использовать В/? из командной строки для наблюдения опций.

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

2
ответ дан t3rse 23 November 2019 в 03:55
поделиться

Я нашел, что это легко для всех включенных:

  • Создают метод веб-сервиса, такой как DoSuchAndSuchProcess
  • , Создают консольное приложение, которое называет этот webmethod.
  • Расписание консольное приложение в планировщике задач.

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

17
ответ дан Daniel Auger 23 November 2019 в 03:55
поделиться

Создайте пользовательская служба Windows .

, я имел некоторые важнейшие задачи, настроенные как запланированные консольные приложения, и нашел их трудными поддержать. Я создал службу Windows с 'heartbeat', который будет проверять расписание в мой DB каждые несколько минут. Это удалось действительно хорошо.

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

30
ответ дан Jacob 23 November 2019 в 03:55
поделиться

Эта техника Jeff Atwood для Stackoverflow является самым простым методом, с которым я столкнулся. Это полагается на "объект кэша, удаленный" механизм обратного вызова, встраивают в систему кэша ASP.NET

Обновление: Stackoverflow перерос этот метод. Это только работает, в то время как веб-сайт работает, но это - очень простая техника, которая полезна для многих людей.

Также выезд Quartz.NET

128
ответ дан BC. 23 November 2019 в 03:55
поделиться

Кроме того, если Ваше приложение использует SQL-СЕРВЕР, можно использовать SQL Agent для планирования задач. Это - то, куда мы обычно помещаем повторяющийся код, который управляем данными (почтовые напоминания, плановое обслуживание, чистки, и т.д....). Замечательной особенностью, которая встроена с SQL Agent, являются опции уведомления об отказе, которые могут предупредить Вас, если критическая задача перестала работать.

3
ответ дан Zachary 23 November 2019 в 03:55
поделиться

Эта библиотека прекрасно работает http://www.codeproject.com/KB/cs/tsnewlib.aspx

Он позволяет управлять запланированными задачами Windows непосредственно через код .NET.

4
ответ дан 23 November 2019 в 03:55
поделиться

Новая библиотека классов планировщика заданий для .NET

Примечание. С момента создания этой библиотеки Microsoft представил новый планировщик задач (Task Scheduler 2.0) для Windows Vista. Эта библиотека является оболочкой для интерфейса Task Scheduler 1.0, который все еще доступен в Vista и совместим с Windows XP, Windows Server 2003 и Windows 2000.

http://www.codeproject.com/KB/cs/tsnewlib .aspx

-1
ответ дан 23 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: