Вход | Регистрация


1с и FTP

1с и FTP
Я
   Мистикан
 
14.09.18 - 17:05
есть стек выгрузки в 60к документов. Есть код в 1с для транспорта документов:
    Если НЕ ПотокВыгрузки.Количество()=0 Тогда
        ФТП = Новый FTPСоединение("х.х.х.х",хх,"ххххх","ххххххх");
    КонецЕсли; 
    ПредыдущийКаталог = "";
    Для каждого Строка Из ПотокВыгрузки Цикл
        м = ФТП.НайтиФайлы(Строка.ТекущийКаталогФТП);
        Если м.Количество()=0 Тогда
            ФТП.СоздатьКаталог(Строка.ТекущийКаталогФТП);    
        КонецЕсли;
        Если НЕ Найти(Строка.ТекущийКаталогФТП,"images")=0 Тогда
            м = ФТП.НайтиФайлы(Строка.ПутьКФайлу+"\"+Строка.ИмяФайла);
            Если м.Количество()=0 Тогда
                Если НЕ Строка.ТекущийКаталогФТП=ПредыдущийКаталог Тогда
                    ФТП.УстановитьТекущийКаталог(Строка.ТекущийКаталогФТП);
                КонецЕсли; 
                ФТП.Записать(Строка.ПутьКФайлу,Строка.ИмяФайла);
            КонецЕсли;
        Иначе    
            ФТП.УстановитьТекущийКаталог(Строка.ТекущийКаталогФТП);
            ФТП.Записать(Строка.ПутьКФайлу,Строка.ИмяФайла);
        КонецЕсли;
        ПредыдущийКаталог = Строка.ТекущийКаталогФТП;
    КонецЦикла; 
    ФТП = Неопределено;
Каждый документ 1-6кб. Выгружается 1 документ 1.5-2 секунды.
Как это можно ускорить?
 
 
   Greeen
 
1 - 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 документов
   Cool_Profi
 
5 - 14.09.18 - 17:10
А что тут ускорять? Выгрузка на ФТП - само по себе не самое лёгкое занятие...
   Fram
 
6 - 14.09.18 - 17:10
Несколько потоков попробуй
   spiller26
 
7 - 14.09.18 - 17:11
(0) Пакуй их отсылай
   Greeen
 
8 - 14.09.18 - 17:11
теоритически на попробовать можно локально сохранять, а уже потом все кучей на фтр перебросить..
   Мистикан
 
9 - 14.09.18 - 17:11
да блин как я понял с логов ftp сервера после загрузки файла 1с закрывает соединение
   Greeen
 
10 - 14.09.18 - 17:11
+ про несколько потоков годный совет =)
 
 Рекламное место пустует
   Fram
 
11 - 14.09.18 - 17:12
(9) используй внешнее приложение
   Базис
 
12 - 14.09.18 - 17:32
ftp.exe из ОС работало быстро и хорошо ещё в 77.
   ptiz
 
13 - 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+ потоков достаточно.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует