|
1с и FTP | ☑ | ||
---|---|---|---|---|
0
Мистикан
14.09.18
✎
17:05
|
есть стек выгрузки в 60к документов. Есть код в 1с для транспорта документов:
Если НЕ ПотокВыгрузки.Количество()=0 Тогда ФТП = Новый FTPСоединение("х.х.х.х",хх,"ххххх","ххххххх"); КонецЕсли; ПредыдущийКаталог = ""; Для каждого Строка Из ПотокВыгрузки Цикл м = ФТП.НайтиФайлы(Строка.ТекущийКаталогФТП); Если м.Количество()=0 Тогда ФТП.СоздатьКаталог(Строка.ТекущийКаталогФТП); КонецЕсли; Если НЕ Найти(Строка.ТекущийКаталогФТП,"images")=0 Тогда м = ФТП.НайтиФайлы(Строка.ПутьКФайлу+"\"+Строка.ИмяФайла); Если м.Количество()=0 Тогда Если НЕ Строка.ТекущийКаталогФТП=ПредыдущийКаталог Тогда ФТП.УстановитьТекущийКаталог(Строка.ТекущийКаталогФТП); КонецЕсли; ФТП.Записать(Строка.ПутьКФайлу,Строка.ИмяФайла); КонецЕсли; Иначе ФТП.УстановитьТекущийКаталог(Строка.ТекущийКаталогФТП); ФТП.Записать(Строка.ПутьКФайлу,Строка.ИмяФайла); КонецЕсли; ПредыдущийКаталог = Строка.ТекущийКаталогФТП; КонецЦикла; ФТП = Неопределено; Каждый документ 1-6кб. Выгружается 1 документ 1.5-2 секунды. Как это можно ускорить? |
|||
1
Greeen
14.09.18
✎
17:07
|
а по замеру производительности что ест время?
|
|||
2
Мистикан
14.09.18
✎
17:09
|
1.5-2 секунды это ФТП.Записать(Строка.ПутьКФайлу,Строка.ИмяФайла);
|
|||
3
Мистикан
14.09.18
✎
17:09
|
по замеру
|
|||
4
Мистикан
14.09.18
✎
17:10
|
в разное время разное среднее значение на 100 документов
|
|||
5
Cool_Profi
14.09.18
✎
17:10
|
А что тут ускорять? Выгрузка на ФТП - само по себе не самое лёгкое занятие...
|
|||
6
Fram
14.09.18
✎
17:10
|
Несколько потоков попробуй
|
|||
7
spiller26
14.09.18
✎
17:11
|
(0) Пакуй их отсылай
|
|||
8
Greeen
14.09.18
✎
17:11
|
теоритически на попробовать можно локально сохранять, а уже потом все кучей на фтр перебросить..
|
|||
9
Мистикан
14.09.18
✎
17:11
|
да блин как я понял с логов ftp сервера после загрузки файла 1с закрывает соединение
|
|||
10
Greeen
14.09.18
✎
17:11
|
+ про несколько потоков годный совет =)
|
|||
11
Fram
14.09.18
✎
17:12
|
(9) используй внешнее приложение
|
|||
12
Базис
naïve
14.09.18
✎
17:32
|
ftp.exe из ОС работало быстро и хорошо ещё в 77.
|
|||
13
ptiz
14.09.18
✎
17:36
|
Проще договориться об обмене архивами zip.
|
|||
14
Мистикан
14.09.18
✎
17:49
|
(13) не получится. Документ изменился, отправился.
|
|||
15
Мистикан
14.09.18
✎
17:49
|
(12) как раз его сейчас пробую
|
|||
16
Мистикан
25.09.18
✎
14:10
|
В итоге решил через многопоточность. В 10+ потоков достаточно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |