IBM Cloud Docs
Esecuzione e aggiornamento dei lavori

Esecuzione e aggiornamento dei lavori

Con questa esercitazione, esegui un lavoro batch utilizzando la console IBM Cloud® Code Engine.

Un lavoro esegue una o più istanze del codice eseguibile in parallelo. A differenza delle applicazioni, che gestiscono le richieste HTTP, i lavori sono progettati per essere eseguiti una sola volta e poi terminare. Quando si crea un job, è possibile specificare le informazioni di configurazione del workload che vengono utilizzate ogni volta che il job viene eseguito.

Prima di iniziare

Per ulteriori informazioni sui lavori batch, vedere Carico di lavoro dei lavori batch.

Per utilizzare la console Code Engine, vai alla Panoramica diCode Engine.

Tutti gli utenti Code Engine devono avere un account Pagamento a consumo. Le esercitazioni potrebbero comportare dei costi. Utilizza il Cost Estimator per generare una stima dei costi basata sull'utilizzo previsto. Per ulteriori informazioni, vedi Prezzi diCode Engine.

Creazione di un lavoro

Crea un lavoro Code Engine utilizzando l'immagine icr.io/codeengine/firstjob. Questo lavoro stampa Hi from a batch job! My index is:.

  1. Apri la pagina della panoramica di Code Engine.
  2. Seleziona Let' s go.
  3. Selezionare Lavoro.
  4. Selezionare un progetto dall'elenco dei progetti disponibili. È anche possibile crearne uno nuovo. Per creare un job, è necessario disporre di un progetto selezionato.
  5. Immettere un nome per il lavoro e specificare icr.io/codeengine/firstjob per l'immagine del contenitore. Utilizza un nome per il tuo lavoro che sia unico all'interno del progetto. Per questo esempio, non è necessario modificare i valori predefiniti per le variabili di ambiente o le impostazioni di runtime. Per ulteriori informazioni sul codice utilizzato per questo esempio, consultare firstjob.
  6. Fai clic su Crea.

Esecuzione di un lavoro

Una volta creato il job e specificate le informazioni di configurazione del workload, è possibile eseguire il job. È possibile sovrascrivere alcune informazioni di configurazione.

Tieni presente che quando esegui il tuo lavoro, viene scaricata e distribuita l'ultima versione della tua immagine del contenitore di riferimento, a meno che non specifichi una tag per l'immagine. Se viene specificato un tag per l'immagine, l'immagine con tag viene utilizzata per il lavoro.

  1. Andate alla pagina del vostro lavoro:

    • Dalla pagina dei progettiCode Engine, fai clic sul nome del tuo progetto. Fare clic su Lavori per gestire i lavori e le esecuzioni dei lavori.
    • Dalla pagina Lavori, fare clic sulla scheda Lavori e fare clic sul nome del lavoro che si desidera eseguire.
  2. Dalla pagina del lavoro, fare clic su Inoltra lavoro per inoltrare un lavoro basato sulla configurazione corrente.

  3. Nel riquadro "Invia lavoro", accettare tutti i valori predefiniti e fare clic su Invia lavoro per eseguire il lavoro.

Dal riquadro "Submit job" (Invia lavoro), è possibile rivedere e facoltativamente modificare i valori di configurazione predefiniti, quali istanze, CPU, memoria, numero di tentativi di lavoro e timeout del lavoro. È possibile specificare la dimensione della matrice o gli indici della matrice per le istanze di lavoro parallelo da eseguire. Per Dimensione array, fornire il numero di istanze da eseguire in parallelo per questo lavoro. Per gli indici della matrice, fornire un elenco separato da virgole per l'insieme di indici personalizzati. Ad esempio, per eseguire questo lavoro con un set personalizzato di indici 5, specificare 3,12-14,25. È anche possibile specificare un valore personalizzato per la dimensione dell'array del lavoro, che aggiorna il valore della variabile di ambiente JOB_ARRAY_SIZE inserita automaticamente. Dopo aver inoltrato questo lavoro, il sistema visualizza lo stato delle istanze del proprio lavoro nella pagina Dettagli lavoro. Se si specificano le dimensioni della matrice invece degli indici della matrice nel riquadro "Invia lavoro", dalla sezione Configuration della pagina dei dettagli del lavoro, queste informazioni vengono fornite come indici della matrice.

Accesso ai dettagli del lavoro

Trova dettagli sul tuo lavoro.

Dopo aver inoltrato il lavoro, i risultati dell'esecuzione del lavoro specifico sono disponibili nella console dalla pagina Dettagli esecuzione lavoro. Dalla console, è anche possibile visualizzare i dettagli del lavoro e le esecuzioni di lavori specifici dalla pagina Lavori.

  • Per visualizzare i dettagli del lavoro, fare clic sulla scheda Lavori e fare clic sul nome del lavoro che si desidera utilizzare.
  • Per visualizzare i dettagli per una specifica esecuzione lavoro, fare clic sulla scheda Esecuzioni lavoro e fare clic sul nome dell'esecuzione lavoro che si desidera utilizzare.

Se l'esecuzione di una qualsiasi istanza del lavoro non è andata a buon fine, si possono intraprendere le seguenti azioni:

  1. Fare clic su Esegui indici non riusciti per eseguire nuovamente il lavoro per gli indici non riusciti. Dal riquadro Submit job (Invia lavoro), rivedere e facoltativamente modificare i valori di configurazione, compresi gli indici della matrice. La sezione Indici array elenca automaticamente gli indici delle istanze di esecuzione del lavoro fallite.

Per la risoluzione dei problemi relativi agli errori comuni degli indici di esecuzione dei lavori, vedere Capire perché gli indici di esecuzione dei lavori possono fallire.

  1. Fare clic su Invia lavoro per inviare il lavoro per gli indici non riusciti.

È possibile visualizzare i log del job dopo aver aggiunto le capacità di registrazione. Per ulteriori informazioni, vedi Visualizzazione dei log dei lavori dalla console.

Aggiornamento di un lavoro

Puoi gestire il tuo lavoro ottimizzando la configurazione del tuo lavoro, che include l'aggiornamento dell'immagine del contenitore di codice, degli argomenti o dei comandi del codice, delle risorse dell'istanza di runtime o delle variabili di ambiente.

Quando il lavoro è in uno stato pronto, è possibile aggiornare il lavoro. Aggiorniamo il lavoro che hai creato in precedenza per modificare l'immagine contenitore da icr.io/codeengine/firstjob a icr.io/codeengine/testjob e quindi aggiorniamo una variabile di ambiente. Quando viene inviata una richiesta a questo lavoro di esempio icr.io/codeengine/testjob, il lavoro legge la variabile di ambiente TARGET e stampa "Hello ${TARGET}!". Se questa variabile di ambiente è vuota, viene restituito "Hello World!". Per ulteriori informazioni sul codice utilizzato per questo esempio, consultare testjob.

  1. Passare alla propria pagina di lavoro.

    • Dalla pagina dei progettiCode Engine, fai clic sul nome del tuo progetto. Fare clic su Lavori per gestire i lavori e le esecuzioni dei lavori.
    • Dalla pagina Lavori, fare clic sulla scheda Lavori e fare clic sul nome del lavoro che si desidera aggiornare.
  2. Dalla scheda Configuration, aggiorna il riferimento immagine del tuo lavoro. Fornire il nome dell'immagine o configurare un'immagine. Aggiorna il nome dell'immagine da icr.io/codeengine/firstjob a icr.io/codeengine/testjob. Fai clic su Deploy.

  3. Fare clic su Inoltra lavoro.

  4. Dal riquadro Inoltra lavoro, esaminare e, facoltativamente, modificare i valori di configurazione predefiniti come le istanze, la CPU, la memoria, il numero di tentativi del lavoro e il timeout del lavoro. È possibile specificare la dimensione della matrice o gli indici della matrice per le istanze di lavoro parallelo da eseguire. Per Dimensione array, fornire il numero di istanze da eseguire in parallelo per questo lavoro. Per gli indici della matrice, fornire un elenco separato da virgole per l'insieme di indici personalizzati. Ad esempio, per eseguire questo lavoro con un set personalizzato di indici 5, specificare 3,12-14,25. Fare di nuovo clic su Inoltra lavoro per eseguire il lavoro. Il sistema visualizza lo stato delle istanze del lavoro nella pagina Dettagli lavoro.

  5. visualizzando i log dei lavori dalla console per questo lavoro, l'output del lavoro è Hello World!.

  6. Per aggiornare nuovamente il lavoro e aggiungere una variabile di ambiente, passare alla pagina del lavoro.

  7. Dalla scheda Configuration> Environment variables, fai clic su Add environment variable. Aggiungere una variabile di ambiente letterale con il nome TARGET con il valore Sunshine. icr.io/codeengine/testjob emette il messaggio, Hello <value_of_TARGET>!>.

  8. Fare clic su Aggiungi per aggiungere la variabile di ambiente e fare quindi clic su Salva per salvare le modifiche al lavoro.

  9. Fare clic su Inoltra lavoro per inoltrare il lavoro aggiornato.

  10. Dal riquadro Inoltra lavoro, esaminare e, facoltativamente, modificare i valori di configurazione predefiniti come le istanze, la CPU, la memoria, il numero di tentativi del lavoro e il timeout del lavoro. Questa volta, specificare Dimensione array come 3. Fare di nuovo clic su Inoltra lavoro per eseguire il lavoro. Il sistema visualizza lo stato delle istanze del lavoro nella pagina Dettagli lavoro. Nella sezione Configuration della pagina dei dettagli del lavoro, le informazioni sul numero di istanze vengono visualizzate come indici di array, che per questo esempio è 0 - 2.

  11. visualizzando le registrazioni lavori dalla console per questo lavoro, l'output del lavoro aggiornato è Hello Sunshine!.

Passi successivi

  • Dopo aver creato il lavoro, inoltrare il lavoro per eseguirlo. Vedere Esecuzione di un lavoro. È possibile eseguire il lavoro più volte.

  • Dopo aver eseguito il lavoro, per visualizzare i dettagli del lavoro e delle esecuzioni del lavoro, consultare dettagli del lavoro di accesso.

  • Ora che il tuo lavoro è stato creato, considera di rendere i tuoi lavori guidati da eventi. Utilizzando le sottoscrizioni agli eventi, puoi attivare i tuoi lavori mediante pianificazioni periodiche o impostare il lavoro in modo che reagisca agli eventi come i caricamenti di file.

  • È possibile aggiornare il lavoro e il relativo codice di riferimento in qualsiasi dei seguenti modi, indipendentemente dal modo in cui è stato creato o precedentemente aggiornato il lavoro.

    • Se hai un'immagine del contenitore, in base allo standard OCI(Open Container Initiative), devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando crei (o aggiorni) il tuo lavoro. Puoi creare (o aggiornare) il tuo lavoro dalle immagini in un registro pubblico o in un Registro privato e quindi accedere all'immagine di riferimento dalla tua esecuzione del lavoro.

      Se hai creato il tuo lavoro utilizzando il comando job create e hai specificato l'opzione --build-source per creare l'immagine del contenitore dall'origine del repository o locale e vuoi modificare il tuo lavoro in modo che punti a un'altra immagine del contenitore, devi prima rimuovere l'associazione della build dal tuo lavoro. Ad esempio, eseguire ibmcloud ce job update -n JOB_NAME --build-clear. Dopo aver rimosso l'associazione della build dal tuo lavoro, puoi aggiornare il lavoro per fare riferimento a un'immagine diversa.

    • Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e creare (o aggiornare) il lavoro con una singola operazione. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, consultare Creazione di un lavoro dal codice sorgente del repository. Se vuoi avere un maggiore controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di creare (o aggiornare) il tuo lavoro ed eseguirlo.

    • Se stai iniziando con il codice di origine che risiede su una workstation locale, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e creare il lavoro con un singolo comando CLI. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Creazione del tuo lavoro dal codice sorgente locale con la CLI. Se desideri un maggiore controllo sulla build della tua immagine, puoi scegliere di creare l'immagine) con Code Engine prima di creare (o aggiornare) il tuo lavoro ed eseguire il lavoro.

    Ad esempio, potresti scegliere di lasciare che Code Engine gestisca la creazione della tua origine locale mentre evolvi lo sviluppo della tua origine per il lavoro. Quindi, una volta maturata l'immagine, puoi aggiornare il job per fare riferimento all'immagine specifica che desideri. È possibile ripetere questo processo in base alle necessità.

    Quando esegui il tuo job aggiornato, per l'esecuzione del job viene utilizzata l'ultima versione della tua immagine del contenitore di riferimento, a meno che non venga specificata una tag per l'immagine. Se viene specificato un tag per l'immagine, l'immagine con tag viene utilizzata per l'esecuzione del lavoro.

Cerchi altri esempi di codice? Controlla gli Esempi per il repository IBM Cloud Code Engine GitHub.