LSL — Добавление элемента случайного времени в запросы базы данных для предотвращения затопления

#random #script #linden-scripting-language

Вопрос:

Я работаю над сценарием LSL (язык сценариев Linden), который будет включен в радиоприемники и телевизоры, которые будут распространяться по всему миру среди пользователей нашего конкретного сообщества. Радио и телевизоры будут «настраивать» аудиосистему или мультимедиа пользователей на выбранную станцию с помощью меню. URL-адреса станций регулярно меняются, особенно во время наших «специальных мероприятий», до одного раза в час в начале часа (для передачи диджеев). Чтобы радио и телевизоры работали по всей сети, URL-адреса потоков станций будут обновляться в облачной базе данных при каждом их изменении. Радио и телевизоры будут запрашивать базу данных, чтобы проверить, менялся ли URL-адрес потока каждый час, но для предотвращения одновременного заполнения базы данных запросами, я хочу создать случайный элемент, поэтому сценарии запрашивают базу данных об измененном URL-адресе в случайный промежуток времени между окном в 2 минуты и 5 минутами каждого часа. У меня есть синтаксис хранения и извлечения базы данных, но может ли кто-нибудь помочь с синтаксисом скрипта LSL для достижения триггера случайного временного окна для запроса базы данных между окном от 2 минут до 5 минут каждый час?

Ответ №1:

Я бы предложил извлекать данные о местоположении из повторно выбранных объектов, например, положение x, y и z в регионе, чтобы создать полуслучайный элемент. Другим (или дополнительным) подходом было бы превратить UUID владельца в полуслучайное число, но это работает только в том случае, если каждый объект принадлежит индивидуально, а не многим объектам, принадлежащим нескольким людям. Если это так, объедините два моих метода.

Превратите результат в плавающий и используйте llSleep() для задержки.