viash-io / viash

script + metadata = standalone component
https://viash.io
GNU General Public License v3.0
39 stars 2 forks source link

[FEATURE] Asynchronous publishing in nextflow #719

Open DriesSchaumont opened 3 months ago

DriesSchaumont commented 3 months ago

Feature summary

Currently, the output of a pipeline is only published after the last component of the nextflow workflow has finished. However, asynchronous publishing is something that could be very beneficial (both from the user perspective, for development and for performance)

Feature description

Allow publishing midway to the pipeline

Why is this feature beneficial?

See above

Alternatives considered

None

Possible solution

Allowing using multiple output channels in emit:

workflow test{
   take:
      foo
   main:
      qc_channel = ...
      final_output  = qc_channel
          | ...
   emit: 
       qc_channel
       final_output
}

Viash would then be able to concat qc_channel and final_output? concat(test.out)

Confirmation