Job results (from Receive-Job) are grouped by output type, differently than "normal" (BackgroundJob) jobs
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- powershell
- Domínio
- backend
Direção de pesquisa
The issue shows the behavior with Start-ThreadJob and Receive-Job on PowerShell 7.4.5 and ThreadJob 2.1.0. Start by reproducing the example and comparing its output order with Start-Job. Trace how ThreadJob collects and exposes the different output streams; done means Receive-Job preserves the order of interleaved output types.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Consider the following code which starts a ThreadJob:
$job = Start-ThreadJob -ScriptBlock {
for( $i = 0 ; $i -lt 100 ; $i++ )
{
Write-Output "output $i"
Write-Host "host output $i"
Write-Information "info output $i"
Write-Verbose "verbose output $i"
Write-Warning "warning output $i"
Start-Sleep -Seconds 5
}
}
If I receive results of the job, the output is grouped according to the type of output:
PS C:\Users\me> Receive-Job $job
output 0
output 1
output 2
WARNING: warning output 0
WARNING: warning output 1
WARNING: warning output 2
host output 0
host output 1
host output 2
PS C:\Users\me>
This is in contrast to “normal” jobs—if I switch the call out for Start-Job, the results come in a more expected order:
PS C:\Users\me> Receive-Job $job
output 0
host output 0
WARNING: warning output 0
output 1
host output 1
WARNING: warning output 1
output 2
host output 2
WARNING: warning output 2
PS C:\Users\me>
Expected behavior
I expect the output from Receive-Job of a ThreadJob to come in the same order as from a BackgroundJob.
This is because I expect to be able to use thread jobs as a "drop-in" replacement for background jobs (modulo restrictions imposed due to running in the same process, like of course you wouldn't be able to load different versions of .NET assemblies).
Actual behavior
The output from a ThreadJob is all grouped by output type (all Warnings grouped together, all host output grouped together, etc.).
Environment data
Name Value
---- -----
PSVersion 7.4.5
PSEdition Core
GitCommitId 7.4.5
OS Microsoft Windows 10.0.26290
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
PS C:\Users\me> gmo *thread*
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Binary 2.1.0 Microsoft.PowerShell.ThreadJob Start-ThreadJob
Version
7.4.5 / 2.1.0
- Linguagem predominante
- PowerShell
- Estrelas
- 37
- Forks
- 22
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PowerShell/ThreadJob
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
PowerShell/ThreadJob#59 · 1 reação ·
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 56/100
PowerShell/ThreadJob#56 · 1 reação ·
-
Set alias for ThreadJob command(s)Talvez já em andamento @kilasuit assumiu há 80 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 20/100
PowerShell/ThreadJob#45 · 1 comentário ·
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 48/100
PowerShell/ThreadJob#44 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
PowerShell/ThreadJob#43 ·
Todas as issues de PowerShell/ThreadJob
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
NVIDIA/flare-local-inference#90 ·
Mantenedores costumam responder em até 1 dia
-
fix(testing): HeadlessTerminal disposes services synchronouslyTalvez já em andamento @zidad assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 69/100
RazorConsole/RazorConsole#388 ·
Mantenedores costumam responder em até 1 dia
-
area/streaming comp/gateway P2 platform/telegram type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
NousResearch/hermes-agent#144897 ·
Mantenedores costumam responder em até 1 dia
-
a:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
Mantenedores costumam responder em até 1 dia
-
fix(handlers): explicitly set Content-Type header in static Index handlerTalvez já em andamento @kage-zero assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia