@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Создание кнопки прямо в в браузере через javascript
-
Может кто сталкивался. Хочу при загрузке страницы создать прямо в ее коде динамически 2 кнопки, и привязать к ним js код onlick, чтобы по нажатию на 1 кнопку в переменную внутри бас сохранялся результат true, а на другую false. Думаю как то сделать это через javascript возможно, может кто подскажет как Пример:

-
@derx2012 said in Создание кнопки прямо в в браузере через javascript:
Может кто сталкивался. Хочу при загрузке страницы создать прямо в ее коде динамически 2 кнопки, и привязать к ним js код onlick, чтобы по нажатию на 1 кнопку в переменную внутри бас сохранялся результат true, а на другую false. Думаю как то сделать это через javascript возможно, может кто подскажет как Пример:
Не совсем понятно для чего это. Кстати нечто подобное я уже реализовывал
Создать кнопочку не сложно, как и привязать к нему событие. Основная проблема это асинхронно получить информацию о клике.
Самый простой способ в цикле проверять значение элемента страницы. -
Это не совсем то что мне надо. В вашем примере создается окошко отдельное, не привязанное к окну браузера. Мне надо чтобы человек при запуске скрипта посмотрел на страничку, если она его устраивает, то он нажал кнопку да, если нет, то нажал кнопку нет, тоесть нужно привязка к окну брузера, для визуального анализа страницы юзером и выбора ответа. Полуавтоматическая работа
-
@fox По поводу получения информации о клике, я просто создам пустую переменную, далее запущу загрузку страницы и отрисовку кнопки с событием, при событии клика запись в переменную баса значения. А сам бас в этом время в цикле ожидает пока в переменную будет записано значение
-
@fox Кнопки добавил, а вот привязать событие клика не получается
var saveButton = document.createElement("button"); saveButton.id = "savebutton"; saveButton.appendChild(document.createTextNode('Сохранить')); document.getElementsByTagName("header")[0].appendChild(saveButton); var removeButton = document.createElement("button"); removeButton.id = "removebutton"; removeButton.appendChild(document.createTextNode('Пропустить')); document.getElementsByTagName("header")[0].appendChild(removeButton);Пробовал так
$("#savebutton").click = function(){[[TEST]] = "1"}; $("#removebutton").click = function() {[[TEST]] = "2"};И так
document.getElementById("savebutton").onclick = function(){[[TEST]] = "1"}; document.getElementById("removebutton").onclick = function() {[[TEST]] = "2"}; -
Придумал решение. Так как записывать в переменные баса нельзя напрямую из js браузера. Пришлось создать до узел, с атрибутом, в который идет записать результата клика. А бас в цикле сканит этот атрибут, получает значение из него.
var result = document.createElement("p"); result.id = "resultclick"; result.setAttribute("status","no"); document.body.appendChild(result); var saveButton = document.createElement("button"); saveButton.id = "savebutton"; saveButton.appendChild(document.createTextNode('Сохранить')); saveButton.onclick = function () {result.setAttribute("status","save")}; document.getElementsByTagName("header")[0].appendChild(saveButton); var removeButton = document.createElement("button"); removeButton.id = "removebutton"; removeButton.onclick = function () {result.setAttribute("status","remove")}; removeButton.appendChild(document.createTextNode('Пропустить')); document.getElementsByTagName("header")[0].appendChild(removeButton); -
@derx2012 said in Создание кнопки прямо в в браузере через javascript:
Так как записывать в переменные баса нельзя напрямую из js браузера. Пришлось создать до узел, с атрибутом, в который идет записать результата клика. А бас в цикле сканит этот атрибут, получает значение из него.
Я об этом и говорил, что асинхронно получить значение из браузера не получится.