我有一个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}