Как получить значения из параллельного кода блока рабочего процесса? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь запустить два Invoke-Sqlcmd параллельно и затем дождаться всех результатов.

$server1 = '...'
$server2 = '...'

workflow work {
  parallel {
    $r1 = Invoke-Sqlcmd -ServerInstance $server1 'select 1 a'
    $r2 = Invoke-Sqlcmd -ServerInstance $server2 'select 2 a'
  }
}
work
# do something with $r1 and $r2. How to access the variables here?
  1. Как передать $server1 и $server2 в блок кода?
  2. Как получить $r1 и $r2 из параллельного блока?

1 Ответ

1 голос
/ 29 октября 2019

Итак, перейдите на серверы с параметром и верните хеш-таблицу обоих результатов.

$server1 = '...'
$server2 = '...'

workflow work {
  param ($server1, $server2)
  parallel {
    @{r1 = Invoke-Sqlcmd -ServerInstance $server1 'select 1 a'}
    @{r2 = Invoke-Sqlcmd -ServerInstance $server2 'select 2 a'}
  }
}
$r = work $server1 $server2
$r.r1
$r.r2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...