Отключите все лишнее на целевой странице если она одна, это реально сделать - например скрипты всяких фейсбуков, сторонней аналитики и так далее. Обычно сервесы используют много сторонних скриптов, которые не влияют на работу сайта, но сильно нагружают проц.
Смотрите как идет распределение нагрузки - возможно оно не сплашное, а пиками - тогда можно попробовать запускать потоки более равномерно. Чтоб избегать этих пиков.
Чаще всего можно отрисовку снизить вплоть до 10 (ну 20) .... На загрузку проца, это как раз сильно влияет.
Если сервер свой и без видюхи, то стоит поставить в него видюху.
50 в нынешних условиях для баса с браузером, достаточно много. Можно попробовать разбить на несколько копий баса по 25 например.
Можно использовать рам диск для работы с профилями - но это уже продвинутый уровень.
Whatsapp Web и задача
-
Помогите выстроить логику скрипта.
Смысл таков, что проверяется онлайн/офлайн статус пользователей в Вотсапе и записывается в файл.- Вход на сайт WhatsApp Web
- Переход в чат контакта №1
- Проверка элемента "в сети". Если онлайн, то запись делается и время системное + запись, когда офлайн пользователь стал и также время
- Переход в чат контакта №2
- Повторение пункта 3.
- Переход в чат контакта №n
- Повторение пункта 3.
Для одного чата я сделал скрипт, а вот, чтобы он выполнялся сразу для нескольких чатов я не могу сообразить как, при этом, чтобы при цикле проверки элемента "в сети" не делалось постоянно запись онлайн или офлайн, а только один раз когда пользователи зашли онлайн и когда офлайн стали. И так по кругу.
Можно было бы сделать разные вкладки для каждого контакта, но вотсап выкидывает из первой вкладки, когда открывается вторая, мол запущена сессия в другой вкладке.
Кто сможет подсказать, как это реализовать?
Для одного чата у меня скрипт выглядит так, но нужно, чтобы несколько чатов так проверялось
- Вход в чат с контактом
- Бесконечный цикл
2.1 ожидание элемента "в сети", как появился, делается запись с временем
2.2 после этого ожидается исчезновение элемента "в сети", делается запись с временем - Переход к пункту 2.1
Уже мучаюсь с недели две-три.
-
Не. В скрипте на 1 контакт у меня без ожидания
Цикл while на проверку онлайн
Проверить существование элемента
Да - запись, нет - опять проверкаСделали запись
Опять цикл while уже на проверку оффлайна (исчезновение селектора "в сети")
Селектор пропал - запись, нет - проверка.Сделал запись, вернулись к 1 циклу while
А для нескольких чатов додуматься не могу. Конечно, можно сделать, чтобы постоянно проверял и делал запись об онлайне или оффлайне, но записей в файле будет тьма тогда, ибо при каждой проверке будет делаться запись
Типа
Пользователь 1 не в сети в N время
Пользователь 2 не в сети в N время
Пользователь 3 в сети в N время
И такая запись при каждой проверке. А пауза у меня в 1 секунду. Если больше ставить, то смысл теряется этого всегоХз, может я криво обьясняю, но как смог. Не прошу готового решения, а хотя бы намекнуть, как это реализовать
-
@SupremeFM внутрь вечного цикла сделать цикл перебора списка контактов.
с Whatsapp Web не знаком, может возможно использовать несколько вкладок например и не загружать и переключаться?
или можно в несколько потоков? 1 контакт 1 поток -
@tet-vivi нет.
Там только 1 активная вкладка может быть. Если открыть одну, а потом вторую, то из первой выбьет, мол запущена другая сессия
Насчёт 1 поток 1 контакт тоже нет.
Скрипт на 1 контакт выглядит так

Функция проверки онлайна (по аналогии такая же функция проверки оффлайна)

И потом в телеграм присылаются по 3 записи (время захода, время выхода и разница между этим, то есть продолжительность онлайна)

-
Вот я набросал скрипт с перебором контактов

Дальше функция с перебором контактов

Дальше идет уже проверка статус и запись в файл. Каждое действие подписал для наглядности

Но файл выглядит так. Что при каждой проверке делается запись. Получается очень нечитабельно и очень много информации запишется за сутки даже.

Вот и вопрос мой заключается в том, как сделать, чтобы было всего по 3 записи на контакт (появление в сети, выход из сети и продолжительность онлайна)? Продолжительность онлайна сделал Время оффлайна - время онлайна = разница.