Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).



  • Здравствуйте.

    Есть проблемы со сном(меньше секунды), почитал форум, судя по всему, у многих начинающих пользователей и это почему-то замалчивается!!!!

    Продукт для нубов вроде как позиционируется, а базовый функционал по поводу мили пауз не раелизован.

    По форуму не нашел работающих ответов, которые не нагружают систему.

    почему спать 1 млс = 1 сек на самом деле? https://community.bablosoft.com/topic/12782/почему-спать-1-млс-1-сек-на-самом-деле

    Как спать меньше секунды?
    https://community.bablosoft.com/topic/5643/как-спать-меньше-секунды

    Спать в цикле срабатывает по-своему:
    Если добавить 1 раз 100мс может накинуть 300мс, если добавить 1 раз 300мс может накинуть 500мс, если накинуть больше 500мс идет от секунды.

    И это речь про первый заход, если поставить 2 раза и более (а в цикле обычно так и происходит), то будет минимум секунда.
    Сон живет своей жизнью....

    Причем спать, иногда криво работает и когда установлен более секунды (всегда удивлялся почему при разных скриптах получается примерно одинаковое время в районе 2х секунд).

    Автор в обучающих роликах призывает ставить задержки в циклы, что бы не было говнокода, но в итоге получается задержка минимум секунда, и оооочень долго.

    Видел предложения по поводу пустых циклов и т.д. - ну это же жестоко, я хот и не понимаю в этом особо, но это тоже самое что на нейтралке в отсечку движок крутить. Речь шла вроде про 30%, насколько могу понять одно из ядер до упора грузится просто.

    Готовых костылей адекватных не нашел, большая часть предложений кода для решения конкретики, нет шаблона для это. Про костыль в цикле видел упоминание, но не нашел темы и там тоже вроде не все так просто было.

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

    Уже дергается глаз....
    Подскажите как корректно спать в цикле меньше секунды? И просто меньше секунды…



  • @ya362 said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    Как спать меньше секунды?

    Никак, нет, конечно оно как вы и описали спит. Но разработчик давным давно говорил, что минимальное время сна это 1 секунда.



  • @UserTrue это как машина с одной передачей, только с 4ой.... Тогда о каком коммерческом применении может идти речь, тем более для начинающи... Как можно делать многопоток с множеством проверок и паузой в 1 секунду минимум, без возможности регулировки.



  • хотя бы костыль вменяемый получить



  • @ya362 said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @UserTrue это как машина с одной передачей, только с 4ой.... Тогда о каком коммерческом применении может идти речь, тем более для начинающи... Как можно делать многопоток с множеством проверок и паузой в 1 секунду минимум, без возможности регулировки.

    Какие нафиг паузы? Кто вас научил так делать? БАС это не система реального времени и в задачах работы с браузером этого не требуется, в самом браузере нет точных таймеров, там есть цикл событий и он не гарантирует точное выполение задач.



  • @UserTrue said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @ya362 said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @UserTrue это как машина с одной передачей, только с 4ой.... Тогда о каком коммерческом применении может идти речь, тем более для начинающи... Как можно делать многопоток с множеством проверок и паузой в 1 секунду минимум, без возможности регулировки.

    Какие нафиг паузы? Кто вас научил так делать? БАС это не система реального времени и в задачах работы с браузером этого не требуется, в самом браузере нет точных таймеров, там есть цикл событий и он не гарантирует точное выполение задач.

    Учит разработчик и очень даже требуется, например добавить задержку в цикл, что бы небыло зависона. Разработчик предлагает поставить штатными средствами поставить паузу в while размером 100мс, как я ее могу поставить? - как в видео не работает.



  • Мне важен результат, жду конструктивных комментариев.
    Констатирование фактов с наездами не поможет в решении проблемы... И если бы это помогло, то послушал бы)))



  • @ya362 said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    Учит разработчик и очень даже требуется, например добавить задержку в цикл, что бы небыло зависона. Разработчик предлагает поставить штатными средствами поставить паузу в while размером 100мс, как я ее могу поставить? - как в видео не работает.

    Ссылку можно? Там скорей всего синхронная обработка в цикле большего списка и чтобы не повешать интерфейс в таком случае полезно добавлять небольшие паузы, да и то это не обязательно делать на каждой итерацией цикла. Достаточно каждые 10000 итераций добавлять 1 сек сна. В большинстве же случаев в БАС происходит асинхронная работа (читать файл, загрузка страниц, http запрос, клик и тп) и эти паузы не нужны



  • @ya362 said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    Мне важен результат, жду конструктивных комментариев.

    Ждите ))))



  • @UserTrue said in

    Ссылку можно? Там скорей всего синхронная обработка в цикле большего списка и чтобы не повешать интерфейс в таком случае полезно добавлять небольшие паузы, да и то это не обязательно делать на каждой итерацией цикла. Достаточно каждые 10000 итераций добавлять 1 сек сна. В большинстве же случаев в БАС происходит асинхронная работа (читать файл, загрузка страниц, http запрос, клик и тп) и эти паузы не нужны

    Там немного по другому получилось, автор предлагает сделать паузу 10мс из-за допущеной ошибки , но по логу видно что даже там минимум секунда получается
    https://youtu.be/Vj2Q50FIBi4?t=6281

    А мне то как быть? Подразумевается одно, в итоге другое, а дурак я....
    Есть множественные фидбеки по этой теме и с этим надо что-то делать.

    Еще одно уточнение, что речь идет про НАЧИНАЮЩИХ(насколько могу понять, это целевая аудитория).

    В подобного рода софте обычно идет delay: 300ms и выполняется задержка ровно в 300 милисекунд без каких либо разбросов.
    Не думал что можно споткнутся на таком ровном месте.



  • @UserTrue said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    в самом браузере нет точных таймеров, там есть цикл событий

    То есть костыль не возможен в принципе?



  • @IvanM said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @UserTrue said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    в самом браузере нет точных таймеров, там есть цикл событий

    То есть костыль не возможен в принципе?

    В смысле? Топикастер же в первом сообщении указал ссылку на тему, где реализовали сон менее 1 секунды через node js



  • @Fox said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @IvanM said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    @UserTrue said in Спать в милисекундах работает не корректно(множественное применение и меньше секунды)).:

    в самом браузере нет точных таймеров, там есть цикл событий

    То есть костыль не возможен в принципе?

    В смысле? Топикастер же в первом сообщении указал ссылку на тему, где реализовали сон менее 1 секунды через node js

    Оу, действительно. Я не дочитал.

    ya362, чувак, а что ещё не так с этим сном? Вроде как есть костыль же.
    Как я понял если в цикл не добавлять, то нужное количество времени сон длится.

    Если добавить 1 раз 100мс может накинуть 300мс, если добавить 1 раз 300мс может накинуть 500мс, если накинуть больше 500мс идет от секунды.

    Не из-за того ли, что БАСу требуется время между этими снами на обработку скрипта?



  • @Fox

    В смысле? Топикастер же в первом сообщении указал ссылку на тему, где реализовали сон менее 1 секунды через node js

    Это?

    @UserTrue
    Конечно ) Через ноду можно делать массовую вставку, сложный запрос и тп, но к сожалению без js там ловить нечего.

    код забыли прикрепить )



  • 52568cd7-16e0-4bf9-a83f-ef9e30a7378c-изображение.png

    3730647c-20f8-4a97-8bd6-d7bcfe5ea2b9-изображение.png



  • Получается сам тупанул, через код запустил(оно соответственно зависло), а не через встроенные языки. Благодарю за консльутации, про кнопку благодарности не забыл)))


Log in to reply