У меня есть программа, которая отображает UI
, позволяет пользователю выбирать имена виртуальных машин, полученные с помощью запроса к главному серверу пула Xen
, а затем создает снимки для выбранных виртуальных машин.Я хочу, чтобы моментальные снимки создавались в фоновом режиме, чтобы я мог реагировать на UI
и обновлять UI
по мере создания каждого снимка.
Первоначально я подключился к главному серверу пула Xen
, а затем выполнил командлет Xen
create snapshot один раз для выбранной виртуальной машины в потоке UI
.Таким образом, UI
стал не отвечать.
Затем я подключился к главному серверу пула Xen
, а затем сделал start-job
(background job
) один раз для каждой виртуальной машины, чтобы создать снимок виртуальной машины.Это не удалось, поскольку сеанс Xen
, созданный в потоке UI
, не мог быть передан в background job
(содержимое переменной сеанса превращает его в блок, но командлет Xen Connect
в блоке возвращает Could not find open sessions to any XenServers
ошибка).
Затем я переместил соединение с главным сервером пула Xen
в background job
.Это замедлило операции, потому что установление соединения занимает несколько секунд и выполняется один раз для каждой виртуальной машины.Тем не менее, UI
оставался отзывчивым, и я смог использовать данные о завершении задания для обновления UI
.
. Как сохранить UI
отзывчивым, обновлять UI
с прогрессом в качестве каждого снимкасоздан и не будет принудительно подключаться к серверу один раз за моментальный снимок?