Size: a a a

Software Design/Architecture/Zen

2021 January 12

MG

Max Grom in Software Design/Architecture/Zen
Так это по времени, получается
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это еще presence detection называют вроде
источник

HH

Human Human in Software Design/Architecture/Zen
Max Grom
Так это по времени, получается
Ну с тех. стороны - да. Со стороны бизнеса - нет
источник

MG

Max Grom in Software Design/Architecture/Zen
Presence detection или activity recognition - это для клиента. Тут же API
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Max Grom
Presence detection или activity recognition - это для клиента. Тут же API
а если серверу надо знать что клиент ушел?
источник

HH

Human Human in Software Design/Architecture/Zen
atcq (Алексей)
а у вас есть штрафные санкции за удержание лока сверх разумного лимита?
В моем кейсе вообще только один человек получает такую задачу - изменить расписание. Делается нечасто. Это просто защита от дурака
источник

SP

Sergey Protko in Software Design/Architecture/Zen
например вот в чатике у тебя надо показывать онлайн ты или оффлайн)
источник

MG

Max Grom in Software Design/Architecture/Zen
Human Human
Ну с тех. стороны - да. Со стороны бизнеса - нет
Ну у вас же есть правило от бизнеса по которому вы определили цикл таймера? Допустим он 2 минуты. Почему вы просто не установите 2 минутный интервал, который будет сбрасываться спустя этот ttl. Если кто-то стучит кроме авторизированного ранее - получает 409, если стучит спустя 2 минуты - получает доступ. Мне просто непонятно зачем вы наворачиваете столько
источник

MG

Max Grom in Software Design/Architecture/Zen
Sergey Protko
а если серверу надо знать что клиент ушел?
Если надо - будет знать. Не понимаю вопроса. Мой поинт - задача совместного доступа решается через ttl-key в кеше и 409 кодом http. Зачем 4 эндпоинта?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Max Grom
Если надо - будет знать. Не понимаю вопроса. Мой поинт - задача совместного доступа решается через ttl-key в кеше и 409 кодом http. Зачем 4 эндпоинта?
что бы обновлять локи)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
скажем у тебя "окно" 20 секунд - мол если клиент не сообщал что редактирует в течении 20-ти секунд считать что он ушел и можно разлачивать
источник

SP

Sergey Protko in Software Design/Architecture/Zen
или 10 секунд... и ты будешь раз в 5 секунд автоматом слать запросы что "я еще тут я еще не ушел"
источник

SP

Sergey Protko in Software Design/Architecture/Zen
у меня например есть кейсы когда мне надо трекать "когда ушел". Потому что от этого биллинг строится)
источник

MG

Max Grom in Software Design/Architecture/Zen
Я ничего не буду слать. Есть API которое позволяет редактировать что-либо. Для API нужно гарантирвоать неконфликтность изменений. Кто первый пришёл с запросом на изменение - тот и поменял. Если он пришёл в течении двух минут - окно за ним. Если после и кто-то в это время внёс свои правки - окно за другим. В чём проблема и почему так не сделать?
источник

HH

Human Human in Software Design/Architecture/Zen
Ну вот у меня для этого эндпоинты и есть

/schedule/start-editing         - захват лока
/schedule/continue-editing
 - пинг, что еще редактируем
/schedule/change
                - изменяем и отпускаем лок
/schedule/no-change
          - не изменяем и отпускаем лок
источник

HH

Human Human in Software Design/Architecture/Zen
Max Grom
Ну у вас же есть правило от бизнеса по которому вы определили цикл таймера? Допустим он 2 минуты. Почему вы просто не установите 2 минутный интервал, который будет сбрасываться спустя этот ttl. Если кто-то стучит кроме авторизированного ранее - получает 409, если стучит спустя 2 минуты - получает доступ. Мне просто непонятно зачем вы наворачиваете столько
Что тут хочешь скоратить?
источник

HH

Human Human in Software Design/Architecture/Zen
Max Grom
Я ничего не буду слать. Есть API которое позволяет редактировать что-либо. Для API нужно гарантирвоать неконфликтность изменений. Кто первый пришёл с запросом на изменение - тот и поменял. Если он пришёл в течении двух минут - окно за ним. Если после и кто-то в это время внёс свои правки - окно за другим. В чём проблема и почему так не сделать?
А понял, ну у меня просто другой кейс
источник

HH

Human Human in Software Design/Architecture/Zen
Мне так не нужно)
источник

MG

Max Grom in Software Design/Architecture/Zen
Можно сделать
PUT /schedule/schedule
и решить вопрос, нет?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Max Grom
Я ничего не буду слать. Есть API которое позволяет редактировать что-либо. Для API нужно гарантирвоать неконфликтность изменений. Кто первый пришёл с запросом на изменение - тот и поменял. Если он пришёл в течении двух минут - окно за ним. Если после и кто-то в это время внёс свои правки - окно за другим. В чём проблема и почему так не сделать?
если у тебя есть требования "что бы не перетерли" и высокие риски что перетрут (бронирование тоже)
источник