Вылетает бас



  • Добрый день, такая проблема.
    Если нагрузка доходит до 100% даже кратковременно, то бас вылетает. Чего бы ему не поработать на 100 минуту - хз.
    Как решить?



  • А если уменьшить количество потоков?



  • @byka Нужно больше информации, у меня прокты если нагружают проц на 100%, то просто ждут своей очереди. BAS не вылетал вообще ни разу ни при каких обстоятельств.



  • http://community.bablosoft.com/topic/2097/ввод-большого-текста/15

    Все этот же проект, где ввод текста.



  • @byka said in Вылетает бас:

    http://community.bablosoft.com/topic/2097/ввод-большого-текста/15

    Все этот же проект, где ввод текста.

    скинь проект примерный и текст



  • а если текст разбить по пробелу split(' '), и запустить цикл (число итераций равно длине массива -1) В цикле команда баса "ввод текста". Так он прошурует по 1 слову



  • @Zenodrot
    проект не могу
    текст примерно такой, шифрованый
    72\x69\x74\x69\x6f\x6e\x2b\x67\x6f\x6c\x2b\x73\x74\x61\x6e\x64\x61\x72\x64\x2b\x63\x68\x65\x61\x70
    4к знаков



  • @byka said in Вылетает бас:

    72\x69\x74\x69\x6f\x6e\x2b\x67\x6f\x6c\x2b\x73\x74\x61\x6e\x64\x61\x72\x64\x2b\x63\x68\x65\x61\x70

    вводиться нормально 4к символов пример

    alt text

    проект с файлом
    0_1498809681595_test.zip



  • Так у меня тоже нормально вводится, просто нагрузка большая и если потоков много - бас вылетает.



  • @byka said in Вылетает бас:

    Так у меня тоже нормально вводится, просто нагрузка большая и если потоков много - бас вылетает.

    сделай потоки в очереди чтобы каждый успевал высвободить участок памяти - переменной или вводи текст кусками по 100 символов например в цикле for у тебя забиваются ресурсы железа до отказа вот и вылетает
    либо просто уменьши потоки и регулируй количеством успешных выполнений



  • Ну если исключить то, что я не понимаю откуда столько нагрузки при вводе текста.
    То видимо остается очередь потоков, не более 2х потоков, чтобы единовременно вводили текст.

    Может есть идеи как реализовать следующее:
    Скрипт выполняется до момента ввода текста и потом ждет разрешения вводить/подождать. Так, чтобы централизованно выдавало одновременно не более 2 разрешений.

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



  • @Zenodrot
    Хотя я, наверное, знаю.
    Глобальная переменная равная количеству одновременных вводов и дальше управление ей.
    Так?



  • @byka said in Вылетает бас:

    @Zenodrot
    Хотя я, наверное, знаю.
    Глобальная переменная равная количеству одновременных вводов и дальше управление ей.
    Так?

    да можно на нее обработчик повесить либо на for



  • @byka said in Вылетает бас:

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

    первый поток подгрузил текст в переменную, залил его в поле ввода, пошел дернул глобальную переменную с 1 на 2, 2й поток ждал когда переменная будет =2 дождался,взял текст и т.д глобальная переменная будет как тумблер для потоков они в очереди ее чекают сидят
    (переменная в которую попадает текст для ввода дожна быть одна чтобы все потоки юзали только ее, по очереди перезаписывали переменную)
    можно сделать чтобы 2 потока вместе ходили и маячили другим двум так же 3,4,5, ит тд



  • @byka Я не думаю, что это из-за нагрузки на проц, из-за памяти такое может быть.

    Проверьте на отладочной версии
    https://bablosoft.com/distr/BrowserAutomationStudioDevelopment/debug.18.7.0.zip

    Нужно запустить и после падения прислать файл crashdump.dmp



  • Спасибо, послал в личку дампы.


Log in to reply