У меня тут довольно неожиданная ситуация. У меня есть небольшое приложение, которое подключается к серверу WebDAV (Sharepoint) с помощью стандартного клиента Windows WebDAV (служба WebClient, часть функции «рабочего стола»), просматривает несколько папок и загружает все найденные PDF-файлы.
В целом процесс работает. Однако у меня возникает странная проблема: когда я запускаю приложение прямо с консоли сервера или рабочего стола RDP, оно запускается примерно через 10 секунд (при условии, что нет файла для загрузки). Когда я запускаю одну и ту же задачу от того же пользователя, но из запланированной задачи, это занимает 5 минут и дает точно такой же результат (файлы загружаются, если они есть).
Я добавил отладку в приложение, чтобы увидеть, где возникает задержка, и в результате операция по перечислению каталога файлов, похоже, занимает вечность, даже если используемый фильтр файлов не приводит к возврату файла. Такое же поведение можно наблюдать при использовании ProcMon: задержка находится в пределах вызовов Win32 и в целом на стороне приложения.
Теперь это не очень важно, поскольку процесс работает, но чем больше каталогов добавлено, тем медленнее он становится, и наступит момент, когда мне придется уменьшить частоту запуска скрипта, чтобы он действительно мог завершиться ( или измените приложение, чтобы оно начало обрабатывать каталог параллельно).
Может ли кто-нибудь объяснить, почему клиент WebDAV кажется на несколько порядков медленнее при запуске из запланированной задачи?
В случае необходимости, соединение каждый раз устанавливается с явным паролем и проходит через SSL.