我有一个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 的输入。