← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 38: Внутрішня черга задач

Технологія: Python

Номер лабораторної: 38 · Рівень: middle

Тема: Робота з чергами у памʼяті

Повний опис / сценарій лабораторної:

Meta: навчитися передавати завдання між потоками у межах одного процесу.



Krok 1. Створити файл src/app/queue38.py.

Komandi: cd ~/python_lab1/src; touch app/queue38.py



Krok 2. Додати виробника який кладе елементи у чергу.

Poyasnennya: використай queue Queue і метод put.



Krok 3. Додати споживача у окремому потоці який читає з черги і обробляє елементи.

Poyasnennya: використай threading Thread і метод get з блокуванням.



Krok 4. Запустити обидва потоки і перевірити взаємодію.



Krok 5. Додати спеціальний маркер кінця наприклад None який каже воркеру завершитися.



Krok 6. Виміряти час обробки певної кількості задач.



Krok 7. Занотувати відмінності між такою чергою у памʼяті і зовнішньою чергою типу redis або rabbitmq.



Krok 8. Продумати випадки де внутрішня черга достатня, наприклад для локальної обробки подій.



Krok 9. Додати просте логування щоб бачити порядок обробки задач.



Krok 10. Mini zvit.

Zavdannya: опиши які обмеження по надійності має така внутрішня черга порівняно з брокером повідомлень.