2016-08-04 15 views
1

node.jsでは、async.parallelを使用していくつかのジョブを送信してから、コールバックのnice results[]配列に戻すのに慣れてきました。 PowerShellでこれを行う方法はありませんか?async.parallel for PowerShell?

私が見つけた最も近いことは、一連のプロセスを開始するためにループ内でStart-Jobを使用することです。しかし、すべての結果を得るにはReceive-Jobを使用しなければなりません。

ループの後にJob-Waitを実行した後、@results = Receive-All-Jobsなどを実行しても問題ありませんか?

答えて

1

Wait-Jobデフォルトですべてのジョブを待ちます。だからあなたはできます:

$results = Get-Job | Wait-Job | Receive-Job 

私はあなたが必要なものを誤解していますか?

+0

それはそうです...しかし、私がこれを実行すると、それは本当に遅いです...それは本当に並行して実行されていますか?ノードでは実際に動きます... – leeand00

+1

@ leeand00それは遅いです!あなたが観察したように、それは各タスクに対して新しい_process_を開始しています。タスクの少なくともかなりの部分が数秒以上かかる場合を除き、ジョブを使用する価値はありません。パフォーマンスは向上しますが、ジョブのように動作するようにするには、PowerShell MVP Boe Proxの[PoshRSJobモジュール](https://github.com/proxb/PoshRSJob)を参照してください。 – briantist

+0

@briantist私はすべてのサーバーにインストールする必要のないものを求めています... – leeand00

関連する問題