Как запланировать выполнение задачи каждую минуту между двумя временными интервалами для определенных дней? - PullRequest
2 голосов
/ 04 ноября 2019

Я использую модуль Python 3.6 & schedule, и мне нужно запланировать выполнение задачи каждую минуту между двумя временными интервалами в течение определенных дней недели. Например, допустим, что задание запланировано на каждую минуту с интервалом 2,5 часа с 23:00 до 01:30 для каждой среды и пятницы. Он должен выполняться каждую минуту между двумя заданными временными интервалами, он должен быть остановлен.

Что я пробовал:

  1. Я пытался использоватьschedule.every(1).minutes.do(job) внутри schedule.every().day.at("11:00").do(job)

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

Но,

  1. Это не останавливается в указанное время, и я не могу понять, как ввести ограничение по времени окончания.

  2. Я не мог понять, как запланировать это с 11:00 до 01:30, я не мог понять, как сказать, что 01:30 наступает после 23:00 ночи.

  3. Я не имею ни малейшего представления о том, как запланировать это на дни моего выбора.

Любая помощь?

Ответы [ 2 ]

1 голос
/ 05 ноября 2019

Я согласен с ответом Генри Джеймса. Было бы лучше использовать cron для подобных задач. Я думаю, что cron устанавливается по умолчанию в Unix / Linux.

Однако, если вам нужно придерживаться Python, вы можете использовать

import time
current_time=time.time()

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

0 голосов
/ 04 ноября 2019

Если вы используете Windows, вы можете использовать планировщик заданий или UNIX / Linux может использовать Cron?

Таким образом, ваш сценарий будет запускаться, а затем завершаться, модуль расписания выглядит так, как будто он работает непрерывно. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...