it-swarm.com.ru

Планировщик задач Windows для выполнения задач за считанные секунды

Я ищу планировщик заданий с открытым исходным кодом/бесплатно для Windows 7 (машина разработки), который позволит мне планировать выполнение задач (HTTP-запросов к веб-службе) каждые x секунд. 

Я пробовал пару клонов Cron и собственного планировщика задач Windows, но ни один из них не позволяет запускать задачи с интервалами менее 60 секунд. Я что-то пропустил? Я не хочу идти и писать какие-либо собственные сценарии, если это возможно.

17
Barry Jordan

Можно создать несколько триггеров для одной запланированной задачи. Если вы создаете 59 идентичных триггеров со смещением 1 секунда друг к другу и планируете запускать каждую минуту каждую минуту, вы в конечном итоге запускаете запланированное задание каждую секунду.

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

30
Andre

Я действительно смог достичь этого.

Обновление: кажется, я более сложным.

В триггере, где написано «Повторить задание каждые:» вы можете фактическиНАПЕЧАТАТЬв раскрывающемся списке «1 минута» (Это не позволит вам ввести время в секундах )

Я сделал это на компьютере с Windows 7.

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

Кажется, вы не можете запустить его с интервалом менее одной минуты.


Я установил задание с триггером, установленным на Ежедневно, чтобы повторяться каждые 1 день. Я ставлю флажок «Повторять задание каждые:». Установка 5 минут на 1 день

Это заставляет задачу идти вечно, каждые 5 минут.

Затем я экспортировал задачу. Экспортируется в XML-файл.

Под Task > Triggers > CalendarTrigger > Repeition есть следующий тег: <Interval>PT5M</Interval> Я изменил его с PT5M на PT1M. Я повторно импортировал задачу.

Задача теперь выполняется каждую 1 минуту.

Я не полностью проверил это, и я не пробовал менее одной минуты, но это может быть возможно, если поставить PT30S или что-то еще на 30 секунд. Я попробую это и сообщу. Обновление: вы не можете сделать это, вы получаете ошибку при импорте задачи. Невозможно установить это время менее 1 минуты.

Для меня весь триггер выглядит так:

  <Triggers>
    <CalendarTrigger>
      <Repetition>
        <Interval>PT1M</Interval>
        <Duration>P1D</Duration>
        <StopAtDurationEnd>false</StopAtDurationEnd>
      </Repetition>
      <StartBoundary>2013-11-07T17:04:51.6062297</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
6
kralco626

Я погуглил это до смерти, так что, насколько я вижу, ответа нет. Есть много коммерческих решений, но нет открытых/бесплатных программ.

В итоге я написал очень простой периодический планировщик HTTP GET на Java, используя кварцевый планировщик . Это может быть полезно другим, поэтому размещение ссылки на источник на guthub https://github.com/bjordan/simple_Java_periodic_HTTP_scheduler

3
Barry Jordan