ernesto logo
Torna al Magazine
Installazione di condotti e canali: come trovare idraulici
consigli
Installazione di condotti e canali: come trovare idraulici

Come Trovare Idraulici per l'Installazione di Condotti e Canali.

Trovare un Idraulico per Installare Condotti e Canali.

Scopri come trovare i migliori idraulici per l'installazione di condotti e canali, assicurandoti un lavoro di qualità e duraturo. In questo articolo, esploreremo suggerimenti utili per selezionare professionisti esperti, garantendo risultati eccellenti e soddisfazione nel tuo progetto edilizio.

Trova professionisti vicino a te

Trova professionisti
/* * Copyright (c) 2008-2020, Hazelcast, Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.hazelcast.jet.core; import com.hazelcast.internal.util.UuidUtil; import com.hazelcast.jet.impl.util.JetUtil; import com.hazelcast.map.IMap; import javax.annotation.Nonnull; import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import static com.hazelcast.internal.util.Preconditions.checkNotNull; /** * Represents an instance of a job. */ public final class Job { private final IMap sharedData; private final Map executions = new ConcurrentHashMap<>(); private final UUID jobId; private final DAG jobExecutionPlan; private volatile boolean jobSubmitted; private volatile JobStatus jobStatus; private volatile Throwable jobFailureCause; Job(@Nonnull IMap sharedData, @Nonnull DAG jobExecutionPlan) { this.sharedData = checkNotNull(sharedData, "sharedData"); this.jobExecutionPlan = checkNotNull(jobExecutionPlan, "jobExecutionPlan"); this.jobId = UuidUtil.newUnsecureUUID(); } /** * Returns the unique ID of this job. */ @Nonnull public UUID getId() { return jobId; } /** * Returns the {@link DAG} of this job. */ @Nonnull public DAG getExecutionPlan() { return jobExecutionPlan; } /** * Returns the {@link IMap} containing {@link SharedJetObject shared * objects} for this job. */ @Nonnull public IMap getSharedData() { return sharedData; } /** * Returns the current state of the job. */ @Nonnull public JobStatus getStatus() { return jobStatus; } /** * Returns the {@link Throwable} containing the cause of the job * failure, or {@code null} if the job is still running or has * completed successfully. */ public Throwable getFailureCause() { return jobFailureCause; } /** * Returns the {@link Execution} for the given execution ID, or * {@code null} if no such execution exists. */ public Execution getExecution(@Nonnull UUID executionId) { checkNotNull(executionId, "executionId"); return executions.get(executionId); } /** * Returns the {@link Execution} with the given name or {@code * null} if no such execution exists. */ @Nonnull public Execution getExecution(@Nonnull String executionName) { checkNotNull(executionName, "executionName"); for (Execution execution : executions.values()) { if (executionName.equals(execution.getName())) { return execution; } } return null; } /** * Returns a snapshot of the job's executions. */ @Nonnull public Map getExecutions() { return JetUtil.copyConcurrentMap(executions); } /** * Returns {@code true} if the job was submitted to the Jet * instance. */ public boolean isSubmitted() { return jobSubmitted; } void setSubmitted() { this.jobSubmitted = true; } void addExecution(Execution execution) { executions.put(execution.getId(), execution); } void setStatus(JobStatus jobStatus) { this.jobStatus = jobStatus; } void setFailureCause(Throwable jobFailureCause) { this.jobFailureCause = jobFailureCause; } }
Ultimo aggiornamento
30 Mar 2025
Francesco Valenti
Francesco Valenti

Copywriter focalizzato sull’esperienza utente nel contattare professionisti e capire i costi dei servizi.