When a project is deleted via Project.delete()
and the project has repo apps installed, the repo apps have their .uninstall()
methods called (correctly) which posts a repo_tasks.uninstall()
task to clean up the repo asynchronously since it might take a bit of time to clean up the file system and database.
However, by the time the task runs, the project is almost certainly deleted, and the MonQTask system refuses to restore the c.app
context if the c.project
cannot be restored, which causes the task to fail. This can cause the task worker to pause for 10s (in case the error was due to a transient outage, I suppose).
Not sure how best to handle this. The "don't restore
c.app
if unable to loadc.project
" behavior was explicitly added in f4117c but there's no documentation as to why.Hasn't been a significant problem for us, and not a super-trivial fix.