Как создать несколько таймеров для выполнения разных файлов Python по очереди?

Как можно организовать выполнение скриптов таким образом, чтобы один из них вызывал другой после завершения своей работы, чтобы избежать возможных конфликтов в расписании выполнения?
  • 8 апреля 2024 г. 20:09
Ответы на вопрос 2
Для этого можно воспользоваться модулем `schedule` для установки и выполнения задач по расписанию. Ниже приведен пример кода, демонстрирующий создание нескольких таймеров и последовательное выполнение файлов Python:

```python
import schedule
import time
import subprocess

def job1():
    subprocess.run(["python", "script1.py"])

def job2():
    subprocess.run(["python", "script2.py"])

def job3():
    subprocess.run(["python", "script3.py"])

# Устанавливаем задачи по расписанию
schedule.every(1).minutes.do(job1)
schedule.every(2).minutes.do(job2)
schedule.every(3).minutes.do(job3)

while True:
    schedule.run_pending()
    time.sleep(1)
```

Этот код создает три разные задачи (`job1`, `job2`, `job3`), которые выполняются по расписанию каждые 1, 2 и 3 минуты соответственно. После запуска главного цикла `while True` каждая задача будет проверяться на выполнение и, если условия выполняются, будет запущен соответствующий скрипт.

Таким образом, можно организовать последовательное выполнение скриптов, и, благодаря использованию модуля `schedule`, можно избежать возможных конфликтов в расписании выполнения задач.
самый простой вариант воспользоваться кроном (cron) 
Штатный механизм запуска задач в юниксе.

почитай о формате планирования. сейчас у Вас простой вариант запускать каждый час / каждые три часа
*/1 */3 в поле часов
Пропиши вместо этого запускать со сдвигом и возможно тебе они не нужны круглосуточно
9-23/1
И в поле минут поставь разные значения например 13 и 27
https://firstvds.ru/technology/cron-zapusk-program...
Похожие вопросы