должна только последняя?
приходет вызов из коллбака, спавнится ждун А. ждун А заканчивает, спавнится новая задача Х.
если во время выполнения ждуна А, пришёл новый вызов спавнится ждун Б, ждун А ничего не делает. после того, как ждун Б закончит, спавнится новая задача Х.
как такое реализовать?
приходет вызов из коллбака, спавнится ждун А. Он пихает задачу Х в очередь. Приходит новый вызов спавнится ждун Б. Он пихает задачу Y в очередь. Сколько бы коллбакафф не пришло, задачи просто пихаются в очередь. Эту очередь читает один единственный воркер. Можно даже в другом процессе. Можно даже на другом языке программирования. Он берёт последнюю задачу из очереди и делает её. Потом опять берёт последнюю и делает её. Ни в какой момент времени задачи не выполняются параллельно. Всегда выполняется только последняя задача. Никаких бурстофф.
Обсуждают сегодня