0 Votes

BatchImporterScheduler

Version 98.1 par john le 2026/04/04 02:54

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')

Retour à la liste des traitements