feat: add personal wechat wcf collector deploy
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$Root = "C:\UniDesk\personal-wechat"
|
||||
$WcfRoot = Join-Path $Root "wcf\v39.5.2"
|
||||
$StateRoot = Join-Path $Root "wcf-state"
|
||||
$Python = "C:\ProgramData\miniconda3\python.exe"
|
||||
$Script = Join-Path $WcfRoot "wcf_host.py"
|
||||
$PidFile = Join-Path $StateRoot "wcf-host.pid"
|
||||
$Stdout = Join-Path $StateRoot "wcf-host.stdout.log"
|
||||
$Stderr = Join-Path $StateRoot "wcf-host.stderr.log"
|
||||
|
||||
New-Item -ItemType Directory -Force $StateRoot | Out-Null
|
||||
|
||||
if (Test-Path $PidFile) {
|
||||
$oldPid = Get-Content $PidFile -ErrorAction SilentlyContinue
|
||||
if ($oldPid) {
|
||||
$existing = Get-Process -Id ([int]$oldPid) -ErrorAction SilentlyContinue
|
||||
if ($existing) {
|
||||
[pscustomobject]@{ ok = $true; alreadyRunning = $true; pid = $existing.Id; stdout = $Stdout; stderr = $Stderr } | ConvertTo-Json -Depth 4
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$env:WCF_COMMAND_PORT = "10086"
|
||||
$env:WCF_STATE_ROOT = $StateRoot
|
||||
$proc = Start-Process -FilePath $Python -ArgumentList @($Script) -WorkingDirectory $WcfRoot -WindowStyle Normal -PassThru -RedirectStandardOutput $Stdout -RedirectStandardError $Stderr
|
||||
$proc.Id | Set-Content -Encoding ascii $PidFile
|
||||
|
||||
[pscustomobject]@{ ok = $true; started = $true; pid = $proc.Id; stdout = $Stdout; stderr = $Stderr; status = (Join-Path $StateRoot "status.json") } | ConvertTo-Json -Depth 4
|
||||
Reference in New Issue
Block a user