Транзакційні листи й SMS
Повідомлення про реєстрацію, квитанції та скидання ставляться в чергу вебзастосунком і надсилаються пулом воркерів.
Черги FIFO, що не гублять завдання, коли воркер помирає, з виробниками й споживачами, що працюють паралельно.
Будь-який сервіс додає роботу, не чекаючи споживачів.
Анімований покроковий розбір з реальними командами HotKV і прикладами відповідей. Натисніть будь-який крок, щоб перейти до нього. Команди та відповіді залишаються англійською, так само, як ви вводите й бачите їх у HotKV.
Фонова робота, як-от листи, зміна розміру зображень і вебхуки, потребує черги між кодом, що її створює, і кодом, що її виконує. Черга, яка губить завдання, коли воркер падає посеред виконання, гірша за відсутність черги, бо ніхто не помічає, що завдання зникло.
Списки дають просту чергу FIFO. BLMOVE переносить кожне завдання до списку обробки в момент передачі воркеру, тож завдання в роботі завжди десь збережене, якщо цей воркер зникне. Виробників і споживачів обслуговують паралельні робочі потоки.
Будь-який сервіс додає роботу, не чекаючи споживачів.
LPUSH queue:emails "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"BLMOVE блокується, доки не з'явиться завдання, потім переносить його до списку обробки одним кроком.
BLMOVE queue:emails queue:emails:processing RIGHT LEFT 0Лист пішов. Завдання видаляється зі списку обробки.
LREM queue:emails:processing 1 "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"Воркер 2 помирає посеред завдання. Його завдання досі у списку обробки, не втрачене.
LRANGE queue:emails:processing 0 -1Монітор повертає покинуте завдання в чергу, і його підхоплює інший воркер.
LMOVE queue:emails:processing queue:emails LEFT RIGHTПовідомлення про реєстрацію, квитанції та скидання ставляться в чергу вебзастосунком і надсилаються пулом воркерів.
Завантаження ставляться в чергу для створення мініатюр і транскодування, а транскодер, що впав, ніколи не губить файл.
Вихідні вебхуки ставляться в чергу й повторюються, не блокуючи запит, який їх запустив.
LPUSH з BRPOP, а воркери сплять, доки не надійде робота.
LPUSHBRPOPBLMOVE атомарно передає кожне завдання до списку обробки.
BLMOVELREMВиробників і споживачів обслуговують паралельні робочі потоки.
Для підтверджень, груп споживачів і повторного відтворення використовуйте потоки.
XADDXREADGROUPЯкщо ви берете завдання через BLMOVE, завдання лежить у списку обробки. Монітор може повернути в чергу все, що пролежало там надто довго.
Ні. BRPOP і BLMOVE блокуються, доки не надійде завдання, з необов'язковим тайм-аутом.
Списки є найпростішою чергою. Потоки додають групи споживачів, підтвердження для кожного повідомлення та історію. Дивіться сценарій потокової обробки подій.
HotKV розмовляє протоколом Redis, тож ви можете направити на нього наявний клієнт і виконувати ті самі команди.