猿问

如何通过Powershell异步从远程机器运行Python脚本?

我有一个只能同步工作的 powershell 函数。我想更新这个函数,以便我可以并行触发对 Python 脚本的多个调用。有没有人知道如何使用 powershell 异步调用 Python 脚本,记住每个 Python 脚本本质上都是一个 while 循环,直到 24 小时后才结束。powershell 函数接收远程机器、python 虚拟环境、python 脚本的路径和参数。


以下是迄今为止所做的工作:


function Run-Remote($computerName, $pname, $scriptPath, $pargs)

{

    $cred = Get-QRemote-Credential

    Invoke-Command -ComputerName $computerName -Credential $cred -ScriptBlock {powershell -c "$Using:pname '$Using:scriptPath' $Using:pargs"} -ConfigurationName QRemoteConfiguration

}


哈士奇WWW
浏览 151回答 1
1回答

汪汪一只猫

修复非常简单,只需在调用命令中添加“-AsJob”即可。这将使 powershell 为您发送的每个命令启动一个新进程。然后在脚本末尾使用“Get-Job | Wait-Job”等待所有进程完成。和“Get-Job | Receive-Job”来取回任何数据。我建议阅读有关 powershell 的工作,它们非常有用但不直观。function Run-Remote($computerName, $pname, $scriptPath, $pargs){    $cred = Get-QRemote-Credential    Invoke-Command -AsJob -ComputerName $computerName -Credential $cred -ScriptBlock {powershell -c "$Using:pname '$Using:scriptPath' $Using:pargs"} -ConfigurationName QRemoteConfiguration}Get-Job | Wait-Job
随时随地看视频慕课网APP

相关分类

Python
我要回答