Запланированное консольное приложение по сравнению со службой Windows? Когда это соответствующий для использования каждого

Прочтите этот раздел об HTTP-уроке по Angular и Angular API .

Метод get принимает тип:

get(...): Observable

, чтобы вы могли изменить свою реализацию getAllLinks:

getAllLinks(): Observable('/main/linkGetAll');
}

Теперь вы должны иметь возможность повторять ответ: [118 ]

getAllLinks().subscribe(links => {
    links.forEach(link => // do what you need);
}

25
задан PreguntonCojoneroCabrón 1 December 2017 в 18:48
поделиться

5 ответов

Для любой запланированной задачи я обычно рекомендовал бы службу Windows по следующим причинам:

  • служба Windows А будет работать, даже если пользователь не будет зарегистрирован в ПК (то будет работать, даже если сервер будет находиться при приглашении ко входу в систему) (*** Примечание - это может зависеть от версии Windows, который Вы запускаете).
  • услуга А может работать, поскольку высокие полномочия считают, такие как Сетевая служба или Локальная Система или Пользователь - у них есть больше конфигурируемости в том отношении
  • , сервис А также происходит, встроил с опциями для запуска, остановки, перезапуска и приостановки при выполнении (иногда)
  • , можно также настроить состояние отказа для сервисов, как то, если это перестало работать, имеют его авторестарт

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

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

В отношении ошибки с Таймером - при чтении отчета об ошибках на сайте MS Вы видите, что это вызывается при вызове "Остановки" в событии Timer_Elapsed. Ответ на это прост - не называют остановку. Вместо этого перенесите все это в проверку на булевскую переменную "IsRunning" и только работайте, если IsRunning является ложью. Даже если бы не было проблемы с таймером, то необходимо сделать это так или иначе, потому что таймер мог бы повторно стрелять во время казни, если казнь занимает больше времени, чем интервал таймера.

Так или иначе, я все еще думаю с помощью запланированных задач, слабое решение и дает мне ретроспективные кадры Windows 95.

27
ответ дан Sam Schutte 28 November 2019 в 18:29
поделиться

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

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

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

А большим фактором также является Планировщик задач, очень устойчивый и гибкий основанный на событии планировщик. Крайне маловероятно, что Вы могли записать планировщик, который был более устойчивым и мог обработать капризы времени и основанное на триггере планирование. На самом деле существует много вопросов об использовании таймеров для планирования задач в сервисах на этот сайт, и это замечательно количество ответов (включая некоторые 'корректные' ответы), которые являются низким качеством или напрямую неправильный.

РЕДАКТИРОВАНИЕ: также интересно отметить, что политика Microsoft отказывается от использования сервисов для основанных на задаче действий. При проверке Vista Win2K8 и Win7, Вы заметите растущий список запланированных задач особого назначения, которые выполняют обслуживание системы и много системных служб.

26
ответ дан dialex 28 November 2019 в 18:29
поделиться

Это - типичный случай для сервиса окон, IMO.

1
ответ дан Otávio Décio 28 November 2019 в 18:29
поделиться

Я предпочел бы сервис окон в большинстве случаев.
Одна хорошая вещь при использовании запланированных задач:
Все используемые средства высвобождены, когда запланированная задача закончилась.

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

0
ответ дан Kb. 28 November 2019 в 18:29
поделиться

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

Отчасти это может быть связано с тем, что они являются vbscripts, и тем, как они написаны, но я видел запланированные задачи с WS FTP Pro (коммерческое программное обеспечение FTP), которые ведут себя таким же образом.

Я преобразовал многие из них в службы Windows, и мне никогда больше не приходилось о них беспокоиться.

Я определенно склоняюсь к службам Windows. Как и некоторые другие комментарии, Меня слишком много раз сжигали запланированные задачи Windows. Я не доверяю им решения корпоративного уровня.

1
ответ дан 28 November 2019 в 18:29
поделиться
Другие вопросы по тегам:

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