Я бы очень хотел использовать функцию Split-Job
для дроссельной заслонки или запуска одного и того же блока сценариев параллельно, так что это происходит быстрее. Это особенно полезно, когда мне нужно запустить несколько раз одну и ту же команду копирования на разных входах.PowerShell Split-Job пустой элемент трубы не разрешен
Код можно найти here и всегда выкладывает следующую ошибку:
An empty pipe element is not allowed.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : EmptyPipeElement
Я знаю, что проблема находится внутри этой функции, но я не могу решить:
function Init ($InputQueue){
# Create the shared thread-safe queue and fill it with the input objects
$Queue = [Collections.Queue]::Synchronized([Collections.Queue]@($InputQueue))
$QueueLength = $Queue.Count
# Do not create more runspaces than input objects
if ($MaxPipelines -gt $QueueLength) {$MaxPipelines = $QueueLength}
# Create the script to be run by each runspace
$Script = "Set-Location '$PWD'; "
$Script += {
$SplitJobQueue = $($Input)
& {
trap {continue}
while ($SplitJobQueue.Count) {$SplitJobQueue.Dequeue()}
} |
}.ToString() + $Scriptblock
# Create an array to keep track of the set of pipelines
$Pipelines = New-Object System.Collections.ArrayList
# Collect the functions and aliases to import
$ImportItems = ($Function -replace '^','Function:') +
($Alias -replace '^','Alias:') |
Get-Item | select PSPath, Definition
$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
}
Благодарим вас за помощь. Потому что эта небольшая функция может помочь мне, если она будет работать.
Это правильно, но когда я удаляю его из функции, он вообще не работает. – DarkLite1
Кажется, что в этом вопросе недостаточно информации, чтобы определить, почему он не работает, если вы удалите это. Я могу только сказать вам, почему вы получаете эту ошибку, и как это исправить. – mjolinor
Я отказался от этого, и тем временем я создал свою собственную работу дроссельной заслонки, поскольку этот был сложным. В любом случае, за вашу постоянную поддержку, я очень ценю это. – DarkLite1