Имя: Пароль:
1C
1С v8
Зависает фоновое задание
0 Radion
 
14.01.13
21:19
SQL 2008, База 1С 8.2. УТ. Платформа (последняя) 8.2.17.143. Есть самописная обработка (запускается в фоновом задании), которая подключается в фтп, скачивает с него файлы в папку на сервере, удаляет файлы с фтп, далее идет обработка самого файла xml: создаются документы "Заказ покупателя" и Реализация ТиУ. В какой-то момент система, зависает и ничем ее как кроме рестартом сервера 1С снять невозможно. Поделитесь опытом, кто как решал данную проблему, если возникала? И где может покопаться чтобы решить? Искал в инете, решения не нашел. Спасибо.
1 drcrasher
 
14.01.13
21:23
(0) сделай логирование после каждого чиха обработки.
2 vde69
 
14.01.13
21:26
есть подозрение что при подключении фтп уходит в интерактивное ожидание команды...

для начала сделай логирование на каком этапе стоит фоновое задание, потом уже думай....

ихмо
фтп как транспорт - самое некудышное средство из всего что только придумано, даже простой оутглюк и то лучше! и причина здесь в возможности скачки еще до окончания заливки.... ну нету здесь контроля целостности....
3 Radion
 
14.01.13
21:26
Обработка подключается к фтп, интервал - через каждые 10 секунд.
4 vde69
 
14.01.13
21:27
(3) гм... на фейхуа? может не 10 сек а 10 мин?
5 Radion
 
14.01.13
21:28
(1,2) сорри, за не знание. что значит логирование?
6 Radion
 
14.01.13
21:29
(4) еще есть у меня обработка, которая работает в файловом варианте, так там тоже интервал опроса 10 секунд. и никаких проблем никогда за 2 года ! не было.
7 Radion
 
14.01.13
21:30
(6) практически такая же обработка, как в теме.
8 Dimanchik
 
14.01.13
21:32
90) ftpuse используй и работай сразу с диском
9 Мимохожий Однако
 
14.01.13
21:33
(0)В подобной ситуации я бы удалял с ФТП файлы только после успешной загрузки документов.
10 Radion
 
14.01.13
21:34
про логирование, имеете ввиду писать каждый раз куда нить (например в txt) через 1С, стадии выполнения запроса к фтп, обработку файла, создание документа и т.п.
11 Radion
 
14.01.13
21:34
(9) все файлы сохраняются в отдельную папку (история). так что с удалением с фтп не страшно.
12 Мимохожий Однако
 
14.01.13
21:37
(2)Какой транспорт лучше?
13 vde69
 
14.01.13
21:41
(12) самое лучшее - прямой доступ, потом идут любые другие с промежуточным хранением и поддержкой транзакций, далее с поддержкой блокировок (типо файловых) и в самом конце фтп...

для себя лет 10 назад писал транспорт, лежит на инфостарте... работает через промежуточную скульную базу, реально работал (и надеюсь сейчас работает) в офигительном (по размерам) строительном холдинге...
14 Radion
 
14.01.13
21:47
(13) Дмитрий, а что посоветуйте, воспользоваться промежуточной программой, той типа ftpuse, что Dimanchik предложил, а потом напрямую с папки файлы обрабатывать?
15 vde69
 
14.01.13
21:56
(14) разница не большая.... проблемма в том что фтп заточен на отдачу а не на передачу.

например ты заливаешь файл в 5 потоков, 4 прошли а 1 заглох, при этом ты получишь правильный размер файла, но в середине содержащим кусок билеберды, при этом закачка его нормально схавает... и что получится при загрузки такого файла одному богу известно.

если пользоватся фтп - то делай контроль того что файл целый, например архив с паролем и при раскрытии проверять контрольную сумму.
16 Мимохожий Однако
 
14.01.13
22:15
(15)Другой способ контроля кроме контрольной суммы из архива нет?
17 Radion
 
15.01.13
11:10
а есть возможность запустить фоновое задание в клиент-серверном варианте, как файловом. т.е. запустить непосредственно 1С под неким юзером, и запустить регламентное задание? Просто такая же обработка запущена, в файловом варианте и работает без сбоев.
18 Radion
 
15.01.13
12:24
up
19 Radion
 
16.01.13
01:59
еще вопрос - если я ставлю интервал выполнения регламентного задания к примеру 5 сек., какой порядок выполнения? пока предыдущее/запущенное задние не выполнится, новое не запуститься? так?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший