mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
05.08.2019 aaa391e46caabfc292d8705bc5dc25e5c8c538c1
Job monitor...
6 files modified
23 ■■■■■ changed files
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgJob.java 2 ●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java 2 ●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java 4 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java 2 ●●● patch | view | raw | blame | history
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java 9 ●●●● patch | view | raw | blame | history
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java 4 ●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgJob.java
@@ -111,7 +111,7 @@
        clone.setTitle(getTitle());
        clone.setExecuteStarted(isExecuteStarted());
        clone.setCommandLineAsString(getCommandLineAsString());
        clone.setCancelledRequested(isCancelledRequested());
        clone.setCancellationRequested(isCancellationRequested());
        clone.setStatus(getStatus());
        clone.setWorkingDirectory(getWorkingDirectory());
        clone.setDescription(getDescription());
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
@@ -92,7 +92,7 @@
            log.info(msg + " Done.");
        } catch (Exception ex) {
            result.setStatus(JobResult.Status.ERROR);
            if (logError && !isCancelledRequested() && getStatus() != Status.CANCELLED) {
            if (logError && !isCancellationRequested() && getStatus() != Status.CANCELLED) {
                log.error("Execution failed for job: '" + commandLineAsString + "': " + ex.getMessage());
            }
            failed();
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
@@ -16,7 +16,7 @@
    @Getter
    @Setter
    private boolean cancelledRequested;
    private boolean cancellationRequested;
    @Getter
    @Setter(AccessLevel.PROTECTED)
    private Status status;
@@ -31,7 +31,7 @@
        if (this.getStatus() == Status.QUEUED) {
            this.status = Status.CANCELLED;
        }
        this.cancelledRequested = true;
        this.cancellationRequested = true;
        cancelRunningProcess();
    }
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
@@ -94,7 +94,7 @@
        @Override
        public JobResult<T> call() throws Exception {
            if (job.isCancelledRequested()) {
            if (job.isCancellationRequested()) {
                job.setStatus(AbstractJob.Status.CANCELLED);
                return null;
            }
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java
@@ -2,9 +2,12 @@
import de.micromata.borgbutler.BorgJob;
import de.micromata.borgbutler.BorgQueueExecutor;
import de.micromata.borgbutler.cache.ButlerCache;
import de.micromata.borgbutler.data.Repository;
import de.micromata.borgbutler.json.JsonUtils;
import de.micromata.borgbutler.server.rest.queue.JsonJob;
import de.micromata.borgbutler.server.rest.queue.JsonJobQueue;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,9 +35,13 @@
        BorgQueueExecutor borgQueueExecutor = BorgQueueExecutor.getInstance();
        List<JsonJobQueue> queueList = new ArrayList<>();
        for (String repo : borgQueueExecutor.getRepos()) {
            Repository repository = ButlerCache.getInstance().getRepositoryArchives(repo);
            String title = repository != null ? repository.getDisplayName() : repo;
            List<BorgJob<?>> borgJobList = borgQueueExecutor.getJobListCopy(repo);
            if (CollectionUtils.isEmpty(borgJobList))
                continue;
            JsonJobQueue queue = new JsonJobQueue()
                    .setRepo(repo);
                    .setRepo(title);
            queueList.add(queue);
            queue.setJobs(new ArrayList<>(borgJobList.size()));
            for (BorgJob<?> borgJob : borgJobList) {
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java
@@ -10,7 +10,7 @@
public class JsonJob {
    @Getter
    @Setter
    private boolean cancelledRequested;
    private boolean cancellationRequested;
    @Getter
    @Setter
    private AbstractJob.Status status;
@@ -32,7 +32,7 @@
    }
    public JsonJob(BorgJob<?> borgJob) {
        this.cancelledRequested = borgJob.isCancelledRequested();
        this.cancellationRequested = borgJob.isCancellationRequested();
        this.status = borgJob.getStatus();
        this.title = borgJob.getTitle();
        ProgressMessage progressMessage = borgJob.getProgressMessage();