Although it's good not to do these things by default (particularly, retrying a successful task will double its effects), there are plenty of cases where you want to re-run something for testing/development/debugging and don't care that the effect will repeat (you're in a dev environment, the effect doesn't matter, etc).
- Maniphest Tasks
- T13253: Plans: Daemon Status Reporting
- rP9b0b50fbf469: Give "bin/worker" flags to repeat and retry tasks
Ran bin/worker execute/retry against archived/successful tasks. Got prompted to add more flags, then got re-execution.
I was actually playing around with this while writing D20200. I wanted to unarchive a task and also run it in the foreground with PhabricatorWorker::setRunAllTasksInProcess(true), but that doesn't work since unarchiveTask assumes there are real daemons running somewhere to pull it out of the queue. Is there any way to give the execute and retry flows a --foreground flag?
Would "Repeat tasks which already successfully completed" be clearer/more consistent?
Did you already try this with the >> bit left-aligned with the first green column? As-is this still looks a little weird to me.
"not be repeated"