1

У нас есть приложение, которое создает папку с файлами на удаленном компьютере, и сценарий Python, который ищет эти папки с локального компьютера, используя полное имя UNC, и отвечает соответствующим образом (например, сценарий ищет папку \\remote-host\D$\our_cool_application_output_folder с локального хоста).

С момента появления этой папки на удаленной машине происходит значительная задержка (около 5 секунд), пока сценарий ее не увидит. Вредит производительности нашего приложения. Во время задержки скрипт пытается повторно получить доступ к этой папке (4 раза в секунду), пока она не будет выполнена успешно.

Можно ли как-нибудь позволить локальной машине быстрее увидеть удаленную папку? Есть ли способ сократить это "время обновления" до нескольких миллисекунд?

1 ответ1

0

Вместо того, чтобы повторно проверять файл, попросите Windows уведомить вас, как только он прибудет с использованием FindFirstChangeNotification. Повторно проверяя файл, вы заставляете его отсутствовать в кэше, предотвращая его заметку.

Windows будет проверять только так часто, а у перенаправителя есть кеш. Худшее, что вы можете сделать, это попросить файл прямо перед его появлением. Это гарантирует, что вам придется ждать весь отрицательный интервал действия кэша, чтобы найти файл.

Вы можете отключить некоторые из этих кешей, но производительность массового файлового ввода-вывода сильно снизится. На самом деле, вы просто не должны использовать файлы таким образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .