Как я могу реализовать это, когда я печатаю это сообщение каждые __ секунд __ раз? - PullRequest
0 голосов
/ 20 июня 2019

Я хочу вызывать метод printFunction каждые __ секунды, но я хочу остановить планирование после определенного количества вызовов. Скажем, например, печатать каждые 5 секунд 10 раз. Извлечение этих значений частоты и времени выполнения из другого файла.

Запуск в PyCharm.

график импорта время импорта

пример класса:

# basic function to print
def printFunction(self):
    print("Hello world")

def repeated(self):
    # reads in two values from another file
    systemFrequency = float(freqSettings.systemFrequency)
    systemRunTime = int(freqSettings.systemRunTime)
    global count 
    count = 0

    while (count < systemRunTime): 
        self.printFunction
        self.increaseCount


 def increaseCount(self):
    global count
    count += 1

1 Ответ

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

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

Вот как я ее реализовал:

import schedule

def my_function():
    print("hello world")

def wrapper():
    wrapper.counter +=1
    my_function()
    if wrapper.counter == 10:
        return schedule.CancelJob
wrapper.counter = 0

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

while True:
    schedule.run_pending()
    print(schedule)

Отображает 10 «Привет, мир»

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