|   |   | 
| 
 | 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+ потоков достаточно.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |