Как запустить сценарий python, который выполняется каждые 5 минут, НО в то же время выполняет другой сценарий - PullRequest
0 голосов
/ 19 июня 2020

Я не хочу, чтобы код go засыпал за эти 5 минут и просто ждал. Тем временем я хочу запустить какой-нибудь другой блок кода или скрипт.
Как запустить python скрипт, который выполняется каждые 5 минут, НО тем временем выполняет какой-то другой скрипт в блоке кода, пока снова не будет достигнуто 5-минутное время. например, я хочу запустить 3 функции. Один запускать каждые 5 минут. еще раз каждые 1 минуту. еще раз каждые 10-20 секунд.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020
import time

delay = 1 # time between your next script execution
wait = delay
t1 = time.time()

while True:
   t2 = time.time() - t1

   if t2 >= wait:
      wait += delay
        # execute your script once every 5 minutes (now it is set to 1 second)
   # execute your other code here

Сначала вам нужно получить время вашего скрипта, затем вам понадобится переменная для хранения «времени ожидания» вашего скрипта (в данном случае «wait»).

Каждый раз, когда ваш время скрипта больше или равно "wait", добавляется переменная задержки для ожидания и выполняется код.

А для множественных задержек это:

import time

delay = [1, 3]
wait = [delay[0], delay[1]]
t1 = time.time()

while True:
   t2 = time.time() - t1

   for i in range(len(wait)):
       if t2 >= wait[i]:
           wait[i] += delay[i]
           if i==0:
               print("This is executed every second")
           if i==1:
               print("This is executed every 3 second")
0 голосов
/ 19 июня 2020

Вы можете использовать Thread для управления вашим подпроцессом и в конечном итоге убить его через 5 минут

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