Perché la mia applicazione è stata riavviata?

La mia applicazione è in esecuzione, ma vedo che le istanze dell'applicazione sono riavviate.

Quando si verifica un riavvio dell'applicazione, Code Engine avvia automaticamente una nuova istanza dell'applicazione. Quando la tua nuova istanza della tua applicazione è contrassegnata come Ready, Code Engine instrada il traffico ad essa.

Se la tua app viene riavviata, determina se uno dei seguenti casi è true.

  1. Si è verificata un'eccezione che non viene gestita nel codice sorgente dell'applicazione.

  2. La tua configurazione della memoria di sistema Code Engine è limitata per le risorse. Ad esempio, l'impostazione di memoria per istanza è impostata su un valore troppo basso, quindi l'istanza si riavvia a causa di errori di memoria esaurita. Oppure, viene raggiunto il limite di memoria effimera.

  3. Poiché Code Engine è un ambiente IBM Cloud completamente gestito, le applicazioni e altri carichi di lavoro Code Engine potrebbero essere riposizionati in un'altra ubicazione fisica; ad esempio, per applicare le correzioni di sicurezza. Data la natura gestita dell'ambiente, questi tipi di modifiche possono verificarsi in qualsiasi momento. Quando si utilizzano le applicazioni distribuite, le azioni di questo tipo possono causare il riavvio dell'applicazione.

    Durante i periodi di manutenzione, un'istanza dell'applicazione in esecuzione viene riposizionata, il che significa che l'istanza in esecuzione viene eliminata e ne viene creata una nuova. Quando ciò accade, il conteggio dei riavvii viene reimpostato su 0. L'età dell'istanza dell'applicazione è un buon indicatore di questo scenario.

Provate una di queste soluzioni.

  1. Se si è verificata un'eccezione, eseguire le seguenti azioni.

    • Controllare i messaggi che potrebbero aiutare a determinare cosa sta accadendo. Se imposti la registrazione per Code Engine, i tuoi file di log potrebbero contenere messaggi. Per ulteriori informazioni sulla registrazione, vedi Visualizzazione dei log.
    • Dopo aver aggiornato il tuo codice sorgente dell'applicazione e creato un'immagine del contenitore aggiornata, crea una nuova revisione per la tua applicazione aggiornando la tua applicazione.
    • Utilizza le viste dettagliate delle tue istanze dell'applicazione per aiutarti nella risoluzione dei problemi delle tue app. Utilizza la console Code Engine per visualizzare i dettagli delle tue istanze dell'applicazione. Vedi Ottenimento dei dettagli sulle istanze dell'app.
  2. Se l'applicazione è vincolata per le risorse di memoria, effettuare le seguenti azioni.

  3. In generale, non puoi fare affidamento su specifiche istanze dell'applicazione per eseguire senza interruzione nell'ambiente Code Engine gestito. Puoi assicurarti che la tua applicazione segua la metodologia dell'app a 12 fattori per evitare tempi di inattività con la tua applicazione durante questi tipi di aggiornamenti del sistema. Vedi Perché la mia applicazione ha interrotto l'esecuzione?