@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Отправка логов в хранилище
-
@fluffik https://cp.sprinthost.ru/auth/login бесплатный хостинг, подключаешь node js и заливаешь такой вот сервер
var express = require('express'); var app = express(); const fs = require("fs") const bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: true })); app.get('/read', function (req, res) { res.sendFile('hello.txt' , { root : __dirname}); }); app.post('/add', function (req, res) { fs.appendFile("hello.txt", JSON.stringify(req.body.log)+'\n', function(error){ if(error) throw error;}); res.send('add'); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); });отправляется вот так

результат вот так

-
@artihorror только динозавр тут лишний и я бы сделал запись лога стримом + дата + можно добавить ограничение по размеру.
-
@artihorror я бы накидал тому кто хоть маленько напрячься хочет, а он прямо сказал, что дайте, чтобы сразу работало
-
@artihorror said in Отправка логов в хранилище:
@UserTrue эт, а что за "лишний динозавр"?)
Express )
-
@artihorror said in Отправка логов в хранилище:
@UserTrue видимо я настолько закостенела, что использую его по привычке(
Вроде ещё молодая, рано костенеть ))
-
@fluffik WebDAV модуль для бас только появился от @artihorror
https://community.bablosoft.com/topic/10892/webdav -
@jason
из всего вашего месседжа я понял только часть про opensourse.Смотрите, философия разработчика в следующем - больше скриптов на чистых действиях - меньше обращений в поддержку, так как на действиях все более менее отлажено.
А если кто то хочет играться с кодом:
а) Есть старые исходники на github, из них можно понять как работают ~70% функций
б) Есть свежие исходники для премиум пользователей
в) В самом бас можно создать действие и посмотреть что будет под капотом.Все делается для того, что бы новички не лезли в код, а раболи на действиях.
Если же человек имеет опыт в программировании, для него не составит больших проблем разобраться в api, но нужно немного времени, что бы покопать.Описание апи вещь сложная, если это не делалось с самого начала. Я несколько раз пытался сесть и подокументировать все это дело, но больше чем на 5-10 функций меня не хватает
-
@jason said in Отправка логов в хранилище:
если это JScript .NET то проект давно заброшен
и последняя версия была в 2010.Начинаю думать, что вы просто троль, которого давно пора забанить или хотя бы игнорить.
-
@DrPrime said in Отправка логов в хранилище:
ну банить наверное нет,
На больших форумах уже бы забанили ))
-
реально смотрите просто скопировал последние темы подряд:
Поиск элемента в блоке
Задачка: номер буквы в слове?
Кракозябры в POST запросе.
Замена символов в списке
бас переменную в js кодэто вопросы которые задают люди и они все решаются одной строчкой в джаваскрипте
можно в гугл посмотреть и скопироватьэто нельзя сделать потому что все закрыто и зашифровано секретным словом.
-
@jason said in Отправка логов в хранилище:
ничего там непонятно, посмотрел.
Ну это уже ваша проблема.
@jason said in Отправка логов в хранилище:
исходников для premium нет, там есть какие то куски кода старых версий и то порезаные, хз почему. И там реально старые версии. Раньше джс можно было посмотреть и поменять возможно, сейчас все спрятано, и наверное закодировано секретным словом.
Там полные исходники.
@jason said in Отправка логов в хранилище:
можно и что дальше? вы не сможете сделать что вам нужно или повторить это действие, там все передается через стриги компилируется шифруется секретным словом потом
костыли и дальше никто не знает почему не работаемогу, и понятно как все работает.
Ладно, дальше это действительно бесполезно, Вы не желаете разобраться, не вижу смысла Вам больше чем либо помогать
-
@jason А @DrPrime наверное такие штуки делает:
https://community.bablosoft.com/topic/10383/плюшки-для-действия-выполнить-код/7
Потому что знает секретное слово?