Планирование работы в Python - PullRequest
0 голосов
/ 21 июня 2020

Я использую sh, чтобы запланировать сценарий python на каждые 30 минут. В настоящее время я использую таймер для запуска сценария python, но он не работает точно. Я использую Linux. Этот код отлично работает на windows, но не работает правильно на Linux. Он должен срабатывать через полчаса, но срабатывает в течение минуты.

from datetime import datetime, timedelta
from threading import Timer
j=1
while True :
          x=datetime.today()    
          y = x + timedelta(minutes=10*j)
          print(y)
          delta_t=y-x
          secs=delta_t.seconds + 1


          def hello_world():
              print ("hello world")
              print("yes)")
    

          t = Timer(secs, hello_world)
          t.start()

          j=j+1`

Может ли кто-нибудь указать на ошибку в приведенном выше коде или предложить альтернативу для запуска сценария python в linux после каждые 30 минут?

Спасибо

1 Ответ

1 голос
/ 21 июня 2020

Вы можете использовать библиотеку Python schedule .

import schedule

def hello_world():
    print ("hello world")
    print("yes)")

schedule.every(30).minutes.do(hello_world)

while True:  

    # Checks whether a scheduled task  

    # is pending to run or not 

    schedule.run_pending() 

Дополнительная информация: https://www.geeksforgeeks.org/python-schedule-library/

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