как создать задание на выполнение каждые 3 минуты только в дневное время с 6:00 до 22:00 с использованием расписания Python - PullRequest
1 голос
/ 01 июня 2019

Я хочу запускать задачу, например, генерировать трафик IPv6 каждые 3 минуты во все дни с 6:00 до 22:00 (т.е. избегать генерации трафика в ночное время), используя облегченное расписание Python. как например эквивалент crontab: * / 3 6-22 * * * command_here

указанное выше расписание должно выполняться в дневное время с 6 до 22 часов

schedule.every (3) .minute.day.interval (6,22) .do (genIPv6Traffic)

1 Ответ

0 голосов
/ 01 июня 2019

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

Эта простая утилита печатает время, когда секунда находится между 6 и 21 (включительно). Очевидно, вы захотите изменить его на часы вместо секунд.

import schedule
import datetime
import time


def genIPv6TrafficGate():
    second = datetime.datetime.now().second
    if 6 <= second <= 21:
        genIPv6Traffic()

def genIPv6Traffic():
    print(datetime.datetime.now().second)

schedule.every(1).seconds.do(genIPv6TrafficGate)

while True:
    schedule.run_pending()
    time.sleep(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...