

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Il flusso di lavoro si interrompe HealthOmics
<a name="workflows-linter"></a>

HealthOmics linca automaticamente i flussi di lavoro WDL e Nextflow DSL2 durante la creazione. I linter integrati rilevano gli errori nei file di definizione del flusso di lavoro che possono causare il fallimento delle esecuzioni. I risultati di Lint vengono visualizzati nel `statusMessage` campo della **GetWorkflow** risposta.

Per i flussi di lavoro WDL, i risultati dei lint sono bloccanti: il flusso di lavoro non passa ad ACTIVE se vengono rilevati errori. Per i flussi di lavoro Nextflow DSL2, i risultati dei lint non sono bloccanti: il flusso di lavoro passa ad ACTIVE indipendentemente dai risultati.

HealthOmics fornisce anche linter esterni che è possibile eseguire localmente prima di creare un flusso di lavoro. Questi linter possono includere regole aggiuntive HealthOmics-specific .

## Built-in linters
<a name="workflows-linter-automatic"></a>

HealthOmics esegue linter integrati sul lato server quando si chiama o. `CreateWorkflow` `CreateWorkflowVersion`

### Lintaggio integrato WDL
<a name="workflows-linter-wdl-automatic"></a>

Per WDL, esegue HealthOmics automaticamente un linter quando si crea il flusso di lavoro. Il linting WDL è un blocco: se il linter rileva errori, il flusso di lavoro non passa ad ACTIVE. L'output del linter si trova nel campo della `statusMessage` risposta. `GetWorkflow` Utilizzate il seguente comando CLI per recuperare l'output di stato (utilizzate l'ID del workflow WDL che avete creato): 

```
aws omics get-workflow 
   —id {{123456}} 
   —query 'statusMessage'
```

### Linting integrato in Nextflow
<a name="workflows-linter-nextflow-automatic"></a>

HealthOmics esegue automaticamente il linter DSL2 rigoroso integrato in Nextflow (nf-lang/v2) durante e per tutte le versioni Nextflow DSL2 supportate: `CreateWorkflow` `CreateWorkflowVersion`
+ Nextflow v22.04 (solo DSL2)
+ Nextflow v23.10
+ Nextflow v24.10
+ Nextflow v25.10
+ Nextflow v26.04

**Nota**  
Il linter integrato si applica solo ai flussi di lavoro DSL2. I flussi di lavoro DSL1 non sono collegati.

Il linter Nextflow funziona in modalità non bloccante. I risultati non impediscono al flusso di lavoro di diventare ATTIVO. Puoi esaminare i risultati in qualsiasi momento senza interrompere il processo di creazione del flusso di lavoro.

**Nota**  
Il linter Nextflow integrato convalida la sintassi di definizione del flusso di lavoro al momento della creazione. È diverso dal rigoroso * parser di sintassi * disponibile per Nextflow v26.04, che è controllato e influisce sul comportamento di runtime. `engineSettings.syntaxVersion` Il linter viene eseguito al momento della creazione in tutte le versioni DSL2, indipendentemente dal parser utilizzato dal flusso di lavoro in fase di esecuzione.

#### Per recuperare l'output di lint di Nextflow
<a name="workflows-linter-nextflow-retrieve"></a>

I risultati di Lint vengono visualizzati come JSON strutturato nel campo della risposta. `statusMessage` `GetWorkflow` Usa il seguente comando CLI per recuperare l'output di lint:

```
aws omics get-workflow --id {{1234567}} --query 'statusMessage'
```

L'esempio seguente mostra l'output JSON del linter Nextflow:

```
{
  "advisory": "Linting findings are from the strict Nextflow DSL2 (nf-lang/v2) linter and reflect the syntax that will be required in Nextflow 25/26 strict mode. On Nextflow 23/24 (legacy grammar) findings are advisory only.",
  "summary": {
    "errors": 2,
    "filesWithErrors": 1,
    "filesWithoutErrors": 0,
    "filesFormatted": 0,
    "warnings": 0,
    "filesWithWarnings": 0,
    "filesWithoutWarnings": 2
  },
  "errors": [
    {
      "filename": "nextflow-lint-legacy.nf",
      "startLine": 24,
      "startColumn": 5,
      "message": "`for` loops are no longer supported"
    },
    {
      "filename": "nextflow-lint-legacy.nf",
      "startLine": 24,
      "startColumn": 10,
      "message": "`i` is not defined"
    }
  ],
  "warnings": []
}
```

#### Campi di output Lint
<a name="workflows-linter-nextflow-fields"></a>

L'output JSON contiene i seguenti campi:
+ `advisory`— Spiega l'applicabilità dei risultati in base alla versione. In Nextflow v22.04, v23.10 e v24.10 (grammatica precedente), i risultati sono solo indicativi. Su Nextflow v25.10 e v26.04, i risultati riflettono rigorosi requisiti di sintassi delle modalità.
+ `summary`— Contiene un numero aggregato di errori e avvisi in tutti i file del flusso di lavoro.
+ `errors`— Una serie di oggetti di errore. Ogni errore contiene `filename``startLine`,`startColumn`, e`message`.
+ `warnings`— Una serie di oggetti di avviso. Ogni avviso contiene gli stessi campi degli oggetti di errore.
+ `truncated`— Un flag condizionale che appare quando l'output di lint supera i limiti di dimensione del campo. Quando si verifica il troncamento, gli avvisi vengono eliminati per primi. Il flusso di lavoro rimane ATTIVO con un report tagliato valido.

#### Raccomandazioni
<a name="workflows-linter-nextflow-recommendations"></a>

Consigliamo il seguente flusso di lavoro per risolvere i problemi riscontrati con la presenza di lanugine:

1. Esamina i risultati relativi alla presenza di lanugine sul `statusMessage` campo.

1. Correggi gli errori nel file di definizione del flusso di lavoro.

1. Re-create il flusso di lavoro per generare un report pulito.

## Linter esterni
<a name="workflows-linter-precreation"></a>

Sono disponibili i seguenti linter esterni:
+ **WDL**— Un'immagine pubblica Amazon ECR per eseguire un linter [ WDL ](https://gallery.ecr.aws/aws-genomics/healthomics-linter) su Amazon ECR Public Gallery.
+ **Nextflow**— Un'immagine pubblica Amazon ECR per eseguire le regole [ Linter per ](https://gallery.ecr.aws/aws-genomics/linter-rules-for-nextflow) Nextflow su Amazon ECR Public Gallery. Puoi accedere al codice sorgente dal repository linter-rules-for-nextflow su. [https://github.com/awslabs/linter-rules-for-nextflow](https://github.com/awslabs/linter-rules-for-nextflow) GitHub
+ **CWL**— Non disponibile.

L'elenco seguente descrive la distinzione tra linter integrati ed esterni:
+ **Built-in linters**: viene eseguito lato server durante e. `CreateWorkflow` `CreateWorkflowVersion` Per WDL, i risultati sono bloccanti. Per Nextflow DSL2, i risultati non sono bloccanti. Si applicano solo ai flussi di lavoro WDL e Nextflow DSL2.
+ **Linter ** esterni: eseguiti localmente prima della creazione del flusso di lavoro. Può includere regole di HealthOmics-specific compatibilità aggiuntive. Disponibili come immagini pubbliche di Amazon ECR.