1) Like the demo.nightly startup action, the global indexation should be done by the script to be serialized with the modification
2) During all these schedulable, all should be in maintenance mode
Can be using the dedicated param (no custom message)
or with the following code (custom message)
RunMode oldMode = null; if (Boolean.TRUE.equals(maintenance)) { oldMode = RuntimeServlet.getRunMode(); if (oldMode != RunMode.MAINTENANCE) { RuntimeServlet.setMaintenanceStatus(MaintenanceStatus.FORCED, new ForcedMainteanceInformations("MESSAGE EN PLUSIEURS LANGUES", null, ZonedDateTime.now())); RuntimeServlet.setRunMode(RunMode.MAINTENANCE); } } try { APPEL DE LA FONCTION QUI BOSSE } finally { if (Boolean.TRUE.equals(maintenance) && oldMode != RunMode.MAINTENANCE) { RuntimeServlet.setRunMode(oldMode); RuntimeServlet.setMaintenanceStatus(MaintenanceStatus.NONE, null); } }