job recv для экспериментальных
Сигнатура
> job recv {flags}
Флаги
-
--tag {int}: Тег сообщения. -
--timeout {duration}: Максимальное время ожидания.
Типы входных и выходных данных:
| вход | выход |
|---|---|
| ничего | любой |
Примеры
Блокировать текущий поток, пока не поступит сообщение.
> job recv
Получить сообщение, ожидая не более 10 секунд.
> job recv --timeout 10sec
Получить сообщение или завершиться с ошибкой, если сообщение недоступно немедленно.
> job recv --timeout 0sec
Получить сообщение от только что запущенной задачи.
> job spawn { sleep 1sec; 'hi' | job send 0 }; job recvПримечания
Когда сообщения отправляются текущему процессу, они сохраняются в так называемом «почтовом ящике». Эта команда считывает и возвращает сообщение из почтового ящика в порядке поступления.
К сообщениям могут прикрепляться числовые флаги. Эта команда поддерживает фильтрацию сообщений, не соответствующих заданному тегу, с помощью флага tag. Если тег не указан, команда принимает любое сообщение.
Если в почтовом ящике нет сообщения с указанным тегом (если он задан), команда заблокирует текущий поток до его поступления. По умолчанию команда блокируется на неопределённое время, пока не поступит подходящее сообщение, но можно указать длительность ожидания. Если указать нулевую длительность ожидания, команда выполнится успешно, только если сообщение уже находится в почтовом ящике.
Примечание: при использовании par-each эту команду может выполнять только один поток одновременно. Если два или более потоков выполняют эту команду, они будут ждать, пока остальные потоки закончат её использовать, в произвольном порядке, независимо от указанного времени ожидания.
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/job_recv.html