有没有一种方法可以从Powershell启动多个python进程来运行相同的脚本但输入不同?

时间:2019-08-21 02:06:13

标签: python-3.x powershell automation

我有一个Powershell脚本,该脚本查看文件夹以查看是否创建了新文件,并在创建新文件时运行python脚本,并以该文件作为python脚本的输入。 但是,由于我们要处理的数据量很大,此脚本可能需要30分钟才能运行,并且此Powershell脚本似乎将请求排队。如果在此python进程仍在运行时创建了请求文件,则它会等待该进程完成,然后再使用此新文件重新启动。 这导致最终用户的等待时间较长。 我想知道是否有一种方法可以在每次创建请求文件时启动一个新的python进程,以便多个python进程可以同时运行(它不会占用大量资源)。

我从某个地方得到了此Powershell脚本,无法回忆起在哪里尝试。 (Powershell不是我的事)。这就是最终使请求排队的原因。希望能够同时运行这些请求的建议。

谢谢

### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = 'C:\Users\mittaps\****\****\Misc\Requests'
    $watcher.Filter = "*.*"
    $watcher.IncludeSubdirectories = $false
    $watcher.EnableRaisingEvents = $true  

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
    $action = { $path = $Event.SourceEventArgs.FullPath
                C:\Users\mittaps\Documents\Dev\PlanningSpacePowerBI\venv\Scripts\python.exe C:\Users\mittaps\Documents\Dev\PlanningSpacePowerBI\PullData.py $path
                $changeType = $Event.SourceEventArgs.ChangeType
                Write-Host "The request file $path was $changeType at $timeStamp" -fore white
              }    
### DECIDE WHICH EVENTS SHOULD BE WATCHED 
    Register-ObjectEvent $watcher "Created" -Action $action
    Register-ObjectEvent $watcher "Changed" -Action $action
    #Register-ObjectEvent $watcher "Deleted" -Action $action
    #Register-ObjectEvent $watcher "Renamed" -Action $action
    while ($true) {Start-Sleep 5}

0 个答案:

没有答案