Всем пользователям, которые находятся онлайн - один случайный аватар из одного и того же определенного блока, одинакового для всех (в определенный момент времени).
Для наглядности примера я указала время, которое определяется с помощью JavaScript. В действительности текущее время будет определяться сервером, для 100% синхронизации.
Еще раз приведу код программы:
start_time = 1430226525462; // текущее время запуска скрипта (определяется вручную перед самим запуском)resume_user_id = 2000000; // с этого пользователя мы возобновляем процессusers_max = 3000000;users_min = 1000000;users_block_size = 100;users_block_period = 300000; // указано в миллисекундахuser_id = users_max - Math.floor(Date.now() / users_block_period) % Math.floor((users_max - users_min) / users_block_size) * users_block_size - Math.floor(Math.random() * users_block_size);
Вопрос: как привязать к формуле параметры start_time и resume_user_id, чтобы после запуска скрипта отсчет начинался с 2-миллионного пользователя (вниз) и далее по кругу в пределах диапазона [от 3 млн ... до 1 млн]?
axel11feb, к сожалению, варианты с записью/чтением текущих переменных в БД или куки не подходят. Нужно именно доработать формулу, которая указана в первом сообщении. Необходима синхронная работа всех онлайн пользователей (в определенную единицу времени всем должны выводиться аватары из одного и того же определенного блока).
burunduk, при каждой загрузке страницы скрипт определяет текущее время в системе пользователя, к нему и привязывается номер дежурного блока. То есть, работа скрипта у каждого из пользователей будет более или менее синхронизирована (единственная погрешность - неправильно выставленное системное время). С этой задачей я справилась. Проблема заключается в том, как заставить скрипт с обновленными двумя параметрами начать воспроизведение с места остановки, без "прижков" по диапазону (место остановки можно напрямую указывать в коде скрипта).
burunduk, у этих миллионов пользователей соц. сети в браузерах. То есть, одновременно запущенных копий скрипта - большое количество.
Аватарки в любом случае будут повторяться (спустя несколько месяцев). Основная цель скрипта: 5 минут работать с одним блоком из 100 пользователей (выбирать оттуда случайные аватарки), потом не трогать этот блок максимально возможное время.
Полная версия:
bb25, будете дразниться, сделаю бо-бо!
Секрет пляжного селфи для тех, кто не сможет этим летом поехать на море.
Интересно, Kristopher меня обгонит по спасибкам?