← До списку лабораторних по Python
Повний опис / сценарій лабораторної:
Meta: навчитися реалізувати базовий планувальник у Python без зовнішніх сервісів.
Krok 1. Створити файл src/app/sched15.py.
Komandi: cd ~/python_lab1/src; touch app/sched15.py
Krok 2. Додати просту функцію задачі.
Komanda: printf "import time
from datetime import datetime
def job():
print(f"job run at {datetime.now().isoformat()}")
if __name__ == "__main__":
while True:
job()
time.sleep(5)
" > app/sched15.py
Krok 3. Запустити скрипт і спостерігати кілька викликів.
Komanda: export PYTHONPATH=$(pwd); python app/sched15.py
Krok 4. Додати умовне завершення після кількох запусків.
Poyasnennya: лічильник iterations, після трьох викликів вихід з циклу.
Krok 5. Винести логіку планувальника у окрему функцію run_scheduler.
Krok 6. Додати можливість різних інтервалів для різних задач у вигляді списку конфігів.
Poyasnennya: зберігай останній час запуску і порівнюй з поточним.
Krok 7. Занотувати обмеження такого підходу в порівнянні з cron або спеціалізованими системами.
Krok 8. Продумати як зупиняти scheduler через сигнал або прапорець.
Krok 9. Зробити невеликий лог виконання у файл через logging.
Krok 10. Mini zvit.
Zavdannya: опиши коли внутрішній scheduler підходить, а коли краще покластися на зовнішні інструменти.