Асинхронное событие не запускается в Powershell Core 6 - PullRequest
0 голосов
/ 04 июня 2018

У меня есть модуль powershell, который использует события асинхронного таймера для мониторинга и запуска действий.

Он прекрасно работает, когда запускается в терминале powershell в Windows.

Мне было интересно узнать,если он будет работать, как, используя Powershell Core на Raspberry Pi.Это почти так!

Похоже, что асинхронные события не запускаются корректно, но потом я заметил, что, если я буду взаимодействовать с терминалом, я начну видеть выплевывающие операторы подробного журнала, а затем асинхронные событиябудет стрелятьТак, например, я знаю, что мой сценарий должен добавить событие таймера для запуска через 10 секунд - но оно никогда не сработает - но если я буду взаимодействовать с терминалом (даже достаточно нажать клавишу Esc), подробные журналы будут выплевываться, яможно увидеть, как регистрируется событие таймера, и оно успешно сработает.

Есть мысли по этому поводу?Любые идеи о том, как запустить сценарий, чтобы он работал как положено, и как он работает под терминалом powershell в Windows?Моя идея для обходного пути состояла бы в том, чтобы иметь синхронный бесконечный цикл, который запускался бы после того, как асинхронная часть была запущена, чтобы поддерживать жизнь и подражать мне, взаимодействуя с терминалом.Но я бы предпочел, чтобы на Raspberry Pi был более понятный способ, чтобы все работало правильно.

1 Ответ

0 голосов
/ 05 июня 2019

Для решения / обходного пути для Linux PS Core фоновые события не запускаются так же, как в PowerShell для Windows, см. Этот проект: https://github.com/cathalmchale/hue

В частности, см. Этот модульный тест Пестера: https://github.com/cathalmchale/hue/blob/master/Hue.Script/Hue.Script.Tests.ps1

Тест в стиле BDD с нотацией Given, When, Then задает и отвечает на вопрос: Given: Модуль скрипта, работающий в Powershell Core на Pi.Когда: Запустите монитор подсветки в режиме поддержания активности.Затем: Введен цикл опроса.

Этот бесконечный цикл опроса позволяет запускать фоновые события в сеансе терминала Linux PS Core.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...