@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Запись в csv файл
-
Здравствуйте. Как записать в csv файл в open office, полученный ответ гет запроса? Записывает краказябры.
Тут https://community.bablosoft.com/topic/1273/как-сохранить-отчет-в-csv/10 не срабатывает.
Тут https://community.bablosoft.com/topic/4520/как-записать-csv-с-кодировкой-windows-1251/11 проблема так и не решена
Тут https://community.bablosoft.com/topic/535/как-изменить-кодировку-при-записи-файла/20 проблема не решена
И т.д.....
Подскажите пожалуйста можно ли решить эту проблему без костылей в виде утилиты iconv.xml, потому как с ней так и не разобрался. -
@bonifazzziy а пробывали в Notepad++ кодировку файла устанавливать перед записью?
-
без костылей в виде утилиты iconv, потому как с ней так и не разобрался
Может проще помочь разобраться? Что не получилось то?
-
Суть такова, я делаю гет запрос, получаю ответ, из ответа достаю заголовок статьи и тело, хочу это записать в файл csv, для этого я создал ресурс в котором создан файл csv, экшеном добавить файл в ресурс пытась добавить в первую ячейку файла полученный ответ, однако получаю краказябры. Файл csv в OpenOffice создан. Кодировку при получении ответа гет запроса пробовал разную, а точнее всю доступную. Возможно я что-то делаю не так?
-
@bonifazzziy Не надо ни в каком опен офисе ничего создавать. Надо просто текстовый файл с расширением csv.
-
просто написать в строке путь к файлу name.csv?
-
@denis_krsk нет, не получилось... Я создал текстовый файл csv, без таблиц и тд. Но всё равно краказябры, когда открываю его в таблице.
-
@bonifazzziy чисто технически тебе можно писать не в файл, а в базу данных. Создать базу и записывать в неё все поля, а потом в менеджере данных экспортировать в csv. Тут не возникает проблем с кодировкой, но возникают проблемы с разделителями. Сижу вот, решаю их...
Может быть тоже перейду на запись в файл.
-