protected void scheduleIndexingAsyncWorker(Map<String, List<IndexingCommand>> asyncCommands) { if (asyncCommands.isEmpty()) { return; } WorkManager wm = Framework.getService(WorkManager.class); for (String repositoryName : asyncCommands.keySet()) { IndexingWorker idxWork = new IndexingWorker(repositoryName, asyncCommands.get(repositoryName)); // we are in afterCompletion don't wait for a commit wm.schedule(idxWork, false); } }
protected void scheduleWork(List<Work> works) { // do async fulltext indexing only if high-level sessions are available RepositoryManager repositoryManager = Framework.getService(RepositoryManager.class); if (repositoryManager != null && !works.isEmpty()) { WorkManager workManager = Framework.getService(WorkManager.class); for (Work work : works) { // schedule work post-commit // in non-tx mode, this may execute it nearly immediately workManager.schedule(work, Scheduling.IF_NOT_SCHEDULED, true); } } }
@Override public void runReindexingWorker(String repositoryName, String nxql, boolean syncAlias) { if (nxql == null || nxql.isEmpty()) { throw new IllegalArgumentException("Expecting an NXQL query"); } ScrollingIndexingWorker worker = new ScrollingIndexingWorker(repositoryName, nxql, syncAlias); WorkManager wm = Framework.getService(WorkManager.class); wm.schedule(worker); }
protected void scheduleBucketWorker(List<String> bucket, boolean syncAlias) { if (bucket.isEmpty() && !syncAlias) { return; } BucketIndexingWorker subWorker = new BucketIndexingWorker(repositoryName, bucket, syncAlias); getWorkManager().schedule(subWorker); }
public String startTestWork() { getWorkManager().schedule(new SleepWork(10000)); return null; }
public String startTestWork() { getWorkManager().schedule(new SleepWork(10000)); return null; }
protected void scheduleImport() { WorkManager wm = Framework.getService(WorkManager.class); if (wm != null) { wm.schedule(new UserProfileImporterWork(), true); } }
@Override public void handleEvent(Event event) { if (event.getName().equals(EVENT)) { WorkManager wm = Framework.getService(WorkManager.class); wm.schedule(new TransiantStorageGCWork()); } } }
@Override public void launchConversion(DocumentModel doc, String conversionName) { WorkManager workManager = Framework.getService(WorkManager.class); VideoConversionWork work = new VideoConversionWork(doc.getRepositoryName(), doc.getId(), conversionName); log.debug(String.format("Scheduling work: %s conversion of Video document %s.", conversionName, doc)); workManager.schedule(work, true); }
public void handleEvent(Event event) { if (UPDATE_ACE_STATUS_EVENT.equals(event.getName())) { WorkManager workManager = Framework.getService(WorkManager.class); workManager.schedule(new UpdateACEStatusWork()); } } }
protected void scheduleAsyncProcessing(DocumentModel doc) { WorkManager workManager = Framework.getService(WorkManager.class); VideoInfoWork work = new VideoInfoWork(doc.getRepositoryName(), doc.getId()); log.debug(String.format("Scheduling work: video info of document %s.", doc)); workManager.schedule(work, true); }
@Override public String scheduleConversion(String converterName, BlobHolder blobHolder, Map<String, Serializable> parameters) { WorkManager workManager = Framework.getService(WorkManager.class); ConversionWork work = new ConversionWork(converterName, null, blobHolder, parameters); workManager.schedule(work); return work.getId(); }
@Override public String scheduleConversionToMimeType(String destinationMimeType, BlobHolder blobHolder, Map<String, Serializable> parameters) { WorkManager workManager = Framework.getService(WorkManager.class); ConversionWork work = new ConversionWork(null, destinationMimeType, blobHolder, parameters); workManager.schedule(work); return work.getId(); }
@OperationMethod public void run() { ImagingRecomputeWork work = new ImagingRecomputeWork(session.getRepositoryName(), query); Framework.getService(WorkManager.class).schedule(work); }
private void scheduleListeners(final List<EventListenerDescriptor> listeners, EventBundle bundle) { for (EventListenerDescriptor listener : listeners) { EventBundle filtered = listener.filterBundle(bundle); if (filtered.isEmpty()) { continue; } // This may be called in a transaction if event.isCommitEvent() is true or at transaction commit // in other cases. If the transaction has been marked rollback-only, then scheduling must discard // so we schedule "after commit" getWorkManager().schedule(new ListenerWork(listener, filtered), true); } }
public String launch() { WorkManager works = Framework.getService(WorkManager.class); TransientStore store = getStore(); store.putParameter(id, "status", new PurgeWorkStatus(PurgeWorkStatus.State.SCHEDULED)); works.schedule(this); return id; }
String launch() { WorkManager works = Framework.getService(WorkManager.class); TransientStore store = getStore(); store.putParameter(id, "status", new PurgeWorkStatus(PurgeWorkStatus.State.SCHEDULED)); works.schedule(this, WorkManager.Scheduling.IF_NOT_RUNNING_OR_SCHEDULED); return id; }
private void handleEvent(Event event) { EventContext ctx = event.getContext(); if (!(ctx instanceof DocumentEventContext)) { return; } DocumentEventContext docCtx = (DocumentEventContext) ctx; DocumentModel doc = docCtx.getSourceDocument(); // launch work doing the actual views generation PictureViewsGenerationWork work = new PictureViewsGenerationWork(doc.getRepositoryName(), doc.getRef().toString(), "file:content"); WorkManager workManager = Framework.getService(WorkManager.class); workManager.schedule(work, WorkManager.Scheduling.IF_NOT_SCHEDULED, true); }
@Override protected void doIndexingWork(ElasticSearchIndexing esi, List<IndexingCommand> cmds) { long now = Timestamp.currentTimeMicros(); for (IndexingCommand cmd : cmds) { cmd.setOrder(now); } esi.indexNonRecursive(cmds); WorkManager wm = Framework.getService(WorkManager.class); for (IndexingCommand cmd : cmds) { if (needRecurse(cmd)) { wm.schedule(getWorker(cmd)); } } }
@Override public void scheduleExecution(EscalationRule rule, CoreSession session) { WorkManager manager = Framework.getService(WorkManager.class); manager.schedule( new EscalationRuleWork(rule.getId(), rule.getNode().getDocument().getId(), session.getRepositoryName()), WorkManager.Scheduling.IF_NOT_SCHEDULED); }