These are chat archives for nextflow-io/nextflow

6th
Jul 2018
micans
@micans
Jul 06 2018 10:23
Given this: errorStrategy = { task.exitStatus == 140 ? 'retry' : 'ignore' }, I would like after maxRetries has been attempted to default to ignore again; is this possible? I ventured into the source code, and in TaskProcessor.groovy, method checkErrorStrategy there is a return TERMINATE in the action == RETRY branch. This may possibly require new syntax at the top level?
Paolo Di Tommaso
@pditommaso
Jul 06 2018 13:31
@micans you can use the task.attempt to modify the error strategy behaviour
micans
@micans
Jul 06 2018 13:38
Cool, thanks! I'd use something like errorStrategy { task.exitStatus==1 && task.attempt-1 <= maxRetries ? 'retry' : 'ignore' } then ... I'm still figuring out how to connect the building blocks.
micans
@micans
Jul 06 2018 14:59
I just changed a memory parameter in a process, and NF now reruns that process. I know this is not necessary (the parameter does not affect the outcome of the process); is it possible to convey this to NF?
Paolo Di Tommaso
@pditommaso
Jul 06 2018 15:50
if that parameter enters in the command script, no
micans
@micans
Jul 06 2018 15:56
Fair enough
Olivia Sandvold
@osandvold302
Jul 06 2018 16:16

I have a pipeline that has several processes that take the same channel as an input, which I have handled by using the into operator. As a developer, I don't really like the organization of

process foo{
   output:
   file "*" into channel_x
}
( channel_1, channel_2, channel_3 ) = channel_x.into(3)
process bar {
   input:
   file "*" from channel_1
   output:
   file "*" into channel_y
}
( channel_4, channel_5 ) = channel_y.into(2)
... etc ....

I want some way to define the workflow in a block, like if there was a way to pull all of those into statements into a single block instead of sandwiched between processes. Is there a way to do this? Or is there a better organization that other people use?