Мониторинг пользовательского интерфейса с использованием net-SFTP

Я разрабатываю приложение, и мне нужно скачать некоторые файлы, используя sftp. Я установил gem net-sftp, и он отлично работает. Используя процесс мониторинга, я нашел на этой странице: http://net-ssh.rubyforge.org/sftp/v2/api/, я могу видеть прогресс в моем терминале. Дело в том, что я хотел бы позволить пользователю видеть, что происходит во время процесса, показывая индикатор выполнения и, возможно, отображать строку мониторинга в моем пользовательском интерфейсе.

Я пробовал много вещей, но ни одна из них не работает. Когда я вхожу в цикл загрузки, я не могу изменить ни одну из переменных моего экземпляра, поэтому я не могу сохранить данные мониторинга, чтобы отобразить их с помощью JavaScript. alter-filters тоже не работает.

Я не знаю, как хранить информацию в цикле, чтобы использовать ее в моем пользовательском интерфейсе. Любая идея?

2 ответа

Я собираюсь предположить, что у вас что-то подобное происходит...

1. client ----> 'do sftp tranfer' ----> server
2.                                      server ------> 'doing sftp'
3. client <---- 'done sftp' ----------- server

Коротким ответом будет то, что вы не можете легко дать прогресс клиенту в этой ситуации.

Более длинный ответ будет состоять в том, что вам нужно открыть какой-то поток с клиентом для отправки прогресса.

1. client ----> 'do sftp tranfer' ----> server    
2.                                      server ------> 'doing sftp'
3. client <====> 'open stream'    <===> server
4. client <---- 'OK' -----------        server

Хитрость здесь заключается в обмене данными между двумя процессами на сервере, которые выполняют поток, и sftp. s

Я собираюсь прыгнуть во что-то подобное, и я верю, что это будет мой подход. В настоящее время у меня есть сервер доступа к местоположению и загрузки файла. Пока это происходит, сервер будет проверять размер файла каждые ~ 5 секунд и сообщать о размере. Если вы возьмете размер файла и сообщите об этом еще до начала загрузки, то, я думаю, вы сможете добиться прогресса.

Другие вопросы по тегам