运行Nextflow官方示例未得预期多输出,请求排查原因
Nextflow任务日志仅显示单条输出,但运行日志显示完成3个任务
问题背景
使用以下Nextflow示例代码:
process basicExample { input: val x "echo process job $x" } workflow { def num = Channel.of(1,2,3) basicExample(num) }
官方文档预期输出包含3条内容:
process job 3 process job 1 process job 2
异常现象
- 仅在单个
.command.out文件中看到一条输出(如process job 2) - 执行限定路径的查找命令仅找到一个日志文件:
$> find "work/db/" -name ".command.out" work/db/9217e2451637514ea8ab5791fbcca4/.command.out
- 但Nextflow运行日志明确显示已完成3个任务:
N E X T F L O W ~ version 23.10.0 Launching `../../nextflow/channelexample.nf` [festering_stonebraker] DSL2 - revision: 110bfce0a9 executor > local (3) [db/9217e2] process > basicExample (3) [100%] 3 of 3 ✔
原因分析与解决办法
核心原因
db/9217e2是任务的哈希前缀目录,Nextflow会为每个任务生成唯一的完整哈希子目录,同前缀的任务目录会被归类到同一个前缀目录下。你只查看了其中一个子目录的日志,另外两个任务的.command.out在同前缀的其他子目录中。
验证步骤
执行全局查找命令遍历整个work目录,会发现3个独立的日志文件:
find work -name ".command.out"
查看所有输出的方法
- 直接查看所有任务日志内容:
cat work/**/.command.out
- 使用Nextflow日志命令,按会话ID筛选输出:
nextflow log festering_stonebraker -f 'process,name,stdout'
(将festering_stonebraker替换为你的实际运行会话ID)
3. 运行时生成报告,查看每个任务的详细路径和输出:
nextflow run channelexample.nf -with-report report.html
内容的提问来源于stack exchange,提问作者Fonnae
相关产品推荐
相关产品推荐

