break; setProgress(new Progress(nbEntriesMigrated, nbEntriesToMigrate)); destBackend.addLogEntries(entries); pageIdx++;
@Override public void work() { int size = docIds.size(); int batchSize = getBatchSize(); if (log.isDebugEnabled()) { log.debug(getTitle() + ": Starting processing: " + size + " documents with batch size: " + batchSize); } openSystemSession(); setProgress(new Progress(0, size)); setStatus("Processing"); for (int start = 0; start < size; start += batchSize) { int end = start + batchSize; if (end > size) { end = size; } List<String> batch = docIds.subList(start, end); // process the batch processBatch(batch); setProgress(new Progress(end, size)); // next batch TransactionHelper.commitOrRollbackTransaction(); TransactionHelper.startTransaction(); } if (log.isDebugEnabled()) { log.debug(getTitle() + ": Finished processing for batch of size:" + size); } setStatus("Done"); }
protected void doWork() throws InterruptedException { for (;;) { long elapsed = System.currentTimeMillis() - getStartTime(); if (elapsed > durationMillis) { break; } setProgress(new Progress(100F * elapsed / durationMillis)); if (isSuspending()) { durationMillis -= elapsed; // save state suspended(); return; } if (WorkStateHelper.isCanceled(getId())) { durationMillis -= elapsed; // save state return; } Thread.sleep(10); } }
@Override public Progress getProgress() { if (importer != null && importer.totalRecords > 0) { return new Progress(importer.currentRecord, importer.totalRecords); } return super.getProgress(); }