BatchImporterScheduler
Modifié par john le 2026/05/04 20:42
- Batch importer scheduler
-
Update all existing imported extensions
- 0 0 0 * * ?
- Ce script est le code qui sera exécuté lorsque le traitement sera lancé par le planificateur. Il doit être écrit en Groovy. L'API XWiki est accessible via les variables "xwiki" et "context".
- def logger = org.slf4j.LoggerFactory.getLogger('org.xwiki.Scheduler.BatchImporterScheduler')
logger.info('Starting extensions batch import')
def extensions = services.query.xwql("select extension.id, proxy.repositoryId, proxy.autoUpdate from Document doc, doc.object(ExtensionCode.ExtensionProxyClass) as proxy, doc.object(ExtensionCode.ExtensionClass) as extension where proxy.autoUpdate=1").execute()
for (extension in extensions)
{
logger.info('Importing extension [{}] on repository [{}]', extension[0], extension[1])
try {
services.repository.importExtension(extension[0], extension[1])
} catch (Exception e) {
logger.error('Failed to import extension [{}]', extension[0], e)
}
}
logger.info('Extensions batch import is finished')