Tengo un script de PowerShell para hacer un procesamiento por lotes en un montón de imágenes y me gustaría hacer un procesamiento paralelo. Powershell parece tener algunas opciones de procesamiento en segundo plano, como start-job, wait-job, etc., pero el único recurso bueno que encontré para hacer un trabajo paralelo fue escribir el texto de un script y ejecutarlo ( PowerShell Multithreading )
Idealmente, me gustaría algo similar a foreach paralelo en .net 4.
Algo bastante parecido a:
foreach-parallel -threads 4 ($file in (Get-ChildItem $dir))
{
.. Do Work
}
Tal vez estaría mejor simplemente bajando a c # ...
(get-job $a).jobstateinfo.state;
receive-job (wait-job ($a = start-job { "heyo!" })); remove-job $a
o$a = start-job { "heyo!" }; wait-job $a; receive-job $a; remove-job $a
Tenga en cuenta también que si llamareceive-job
antes de que finalice el trabajo, es posible que no obtenga nada.