У меня есть 3 независимых скрипта PowerShell, каждый из которых вызывается отдельно, и все они делают очень похожие вещи. В каждом из них установлен таймер для проверки файлов CVS каждые 5 минут и отображения результатов в виде значка на панели задач в Windows. Они запрашивают разные CSV-файлы, но макет такой же, как показано ниже:
//setup my variables
$poll_timer = New-Object System.Timers.Timer($poll_interval * 1000 * 60)
$poll_timer.Start()
function check_CSV{
query the CSV
$Icon.Icon = $whichImage
...
}
$poll = {
check_CSV
}
Register-ObjectEvent $poll_timer -EventName Elapsed -Action $poll
Все работает хорошо, и они работают весь день. Однако 2 или 3 раза в неделю они терпят крах, поэтому опрос прекращается. Что я нахожу странным, так это то, что все 3 аварийно завершают работу. Powershell по-прежнему работает, если я запускаю другой скрипт, но эти 3, которые вызываются независимо, все вылетают в одно и то же время.
Я поместил $ ErrorActionPreference = "silentlycontinue" вверху, и это, похоже, не имеет никакого значения. Я не понимаю, почему они терпят крах, иногда кажется, что они зависают во время проверки CSV.
Заранее спасибо.