Rebuild tasks instead of cloning them when retrying a process
Closes #1536 (closed)
This merges Process.start
and Process.retry
into a new Process.run
method, which resolves a few bugs that we never even documented yet, such as the CorpusWorkerVersion cache not being rebuilt during retries. We could merge Process.build_workflow
into this method, since build_workflow
is not really useful alone.
I will later try to make some diagrams and notes to see how we could split up build_workflow
in a follow-up, to make the process creation more maintainable because it is currently very difficult to understand it.
I didn't make a data migration to handle existing processes and update the attributes, for example detecting that a process has a thumbnail generation task and set Process.generate_thumbnails
, so retrying existing processes will be a mess. I can try to write that if that is a significant issue.