I have a stage, say generateInitialConditions, which generates the initial conditions, say initial_conditions.json needed for two simulation stages sim001 and sim002. If I dvc repro sim001 in one terminal, and then dvc repro sim002 in another terminal, I get "Error: failed to reproduce 'generateInitialConditions': initial_conditions.json is busy, it is blocked by (PID #######) c:\users<username>.local\bin\dvc repro sim001"
Given that initial_conditions.json was already up-to-date so generateInitialConditions was going to be skipped anyway, I don't see why these two stages couldn't have been run in parallel.
Desired behaviour: when running dvc repro <stage>, if a dependency of a stage has not changed, do not require that dependency to be unlocked to run the stage.
I have a stage, say generateInitialConditions, which generates the initial conditions, say initial_conditions.json needed for two simulation stages sim001 and sim002. If I
dvc repro sim001in one terminal, and thendvc repro sim002in another terminal, I get "Error: failed to reproduce 'generateInitialConditions': initial_conditions.json is busy, it is blocked by (PID #######) c:\users<username>.local\bin\dvc repro sim001"Given that initial_conditions.json was already up-to-date so generateInitialConditions was going to be skipped anyway, I don't see why these two stages couldn't have been run in parallel.
Desired behaviour: when running
dvc repro <stage>, if a dependency of a stage has not changed, do not require that dependency to be unlocked to run the stage.