In the original rake task, the project.manual_sync was an asynchronous process, meaning that it could be potentially unsafe to delete a project if it had no versions without the manual_sync finishing, since that could potentially create new versions again. This splits the work into two rake tasks; one to delete the versions, then a second to delete Maven projects without versions after the async workers are finished.
In the original rake task, the
project.manual_sync
was an asynchronous process, meaning that it could be potentially unsafe to delete aproject
if it had no versions without themanual_sync
finishing, since that could potentially create new versions again. This splits the work into two rake tasks; one to delete the versions, then a second to delete Maven projects without versions after the async workers are finished.