У меня есть процесс A
, который выводит файл в канал outA
.Я хочу использовать этот файл в качестве входных данных для 3 последующих процессов B
, C
и D
.Поскольку созданный канал outA
является канальным по умолчанию, я не могу напрямую использовать файл более одного раза (в отличие от каналов значений).
В настоящее время я использую оператор into
для дублирования канала outA
как описано здесь (см. код ниже).
Я также знаю, что вы можете создать канал значений из файла, выполнив Channel.value(file('/path/to/file.txt'))
.
Мой код в настоящее время:
// Upstream process creating a queue channel with one file
process A {
output:
file outA
"echo 'Bonjour le monde !' > $outA"
}
// Queue channel triplication
outA.into {inB; inC; inD}
// Downstream processes all using the same file
process B {
input:
file inB
"script of process B $inB"
}
process C {
input:
file inC
"script of process C $inC"
}
process D {
input:
file inD
"script of process D $inD"
}
Я отлично работаю, как есть, но мне интересно, возможно ли преобразовать канал очереди outA
в канал значений, чтобы я могиспользуйте тот же канал, что и вход для процессов B, C и D.