As more and more job questions get implemented, we are experiencing more users blocking their wiki because they have either closed a tab that was asking them a job question (XWIKI-14314) or because they have started some job that contained a question that never made it to the UI (XWIKI-19727).
The blocking comes from the usage of grouped jobs that effectively block execution of others from the same group, depending on the scope: wiki, farm, page with clientele, etc. The biggest problem is with refactoring jobs or EM install/uninstall jobs that do tend to block tthe entire wiki or even the farm.
We need a solution to manage this problem at the product level.
- Best practice: Have each UI that starts a job first check and report any other currently running jobs that have pending questions. For admin actions, it would be shared to all admins, while for user actions (e.g. deleted, etc.) it would be visible only to the user that started the action and maybe to admins as well.
- Notification level: Notify the user each time they receive a question so they can come back to it regardless on which page they are at the time.
- Timeout: Make sure that we never ask a question without assigning it a (reasonable) timeout. This way the wiki gets unblocked eventually while adding the need from the developers to specify a reasonable default answer to the questions they ask in jobs.
- Jobs management application for admins: XWIKI-19215
- is related to
XWIKI-14314 Jobs waiting conflict when leaving the page during an action
XWIKI-19727 ReplayJob blocking EM after getting stuck while waiting for an answer for deleting unused pages
XWIKI-19215 Jobs management application/UI