# Mixed duration jobs
# Tests workflows with varying job durations

rule all:
    input:
        "output/slow.txt",
        "output/medium.txt",
        expand("output/fast_{n}.txt", n=range(1, 4))

rule slow_job:
    output:
        "output/slow.txt"
    shell:
        """
        echo "Starting slow job" > {output}
        sleep 1
        echo "Slow job complete" >> {output}
        """

rule medium_job:
    output:
        "output/medium.txt"
    shell:
        """
        echo "Starting medium job" > {output}
        sleep 0.5
        echo "Medium job complete" >> {output}
        """

rule fast_job:
    output:
        "output/fast_{n}.txt"
    shell:
        """
        echo "Fast job {wildcards.n}" > {output}
        """
