Касса Барахолки пишет события в журнал, и их уже сотни в минуту: оплаты, отмены, отгрузки. За каждым событием стоит работа. Отправить чек, пересчитать склад, напомнить про оплату. Почтовый сервер отвечает по две секунды, а иногда не отвечает вовсе. Если ждать его прямо в обработчике запроса, покупатель ждёт вместе с ним.
В прошлом уроке журнал Streams научился не терять события, а группа потребителей научилась делить их между участниками. Очередь задач это почти то же самое. Запись журнала становится задачей «выполни функцию с такими аргументами», участники группы становятся воркерами, а XACK становится словом «готово». Остаётся решить три вопроса, которые журнал оставил открытыми: когда подтверждать, что делать с ошибкой и кто доделает работу за упавшим.
урок из курса
Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.