Processi

La pagina Processi mostra i processi di runtime e di build della vostra applicazione. Qui potete anche modificare e definire i vostri comandi di runtime.

  • Processi di runtime: sono i processi necessari per l’applicazione.
  • Processo di build: mostra la build machine che il processo di build sta utilizzando.

Processo web

Il processo web esegue la vostra applicazione. Quando aggiungete un’applicazione, se non specificate il comando start per il processo web, Kinsta tenta di rilevarlo automaticamente durante la prima distribuzione. Ad esempio, il comando start per un’applicazione Node.js può essere npm start o yarn start.

Non è possibile rimuovere il processo web e si può avere un solo processo web per applicazione.

Background worker

Un background worker è un processo che viene eseguito in background, separato dall’applicazione principale, ed è inaccessibile da internet. L’utilizzo di un background worker per le attività in corso, come l’elaborazione di grandi insiemi di dati, mantiene queste attività separate dall’applicazione principale e aiuta a mantenere una buona esperienza utente.

Questo tipo di processo non deve essere eseguito come un lavoro unico che termina dopo un certo periodo di tempo. Se un processo in background termina dopo aver completato il suo lavoro, il pod si spegne, si riavvia e ripete il processo. Per un processo che termina dopo aver completato il suo lavoro, usate un processo cron job.

Aggiungere un processo background worker

Potete aggiungere un background worker quando aggiungete un’applicazione o in qualsiasi momento dalla sezione Processi. Sebbene non ci sia un limite al numero di processi di background worker che potete aggiungere, ogni processo richiede almeno un pod per essere eseguito.

Per aggiungere un nuovo background worker, cliccate su Crea processo e completate i campi come segue:

Creare un processo background worker.
Creare un processo background worker.
  • Nome: il nome del processo; ad esempio, Calcolo del prezzo.
  • Tipo: scegliete Background worker.
  • Comando start: il comando necessario per avviare il processo, ad esempio npm run [processo].
  • Dimensione del Pod: determinate la CPU e la RAM dedicate al processo.
  • Istanze: il numero di istanze necessarie, fino a un massimo di 50. Ogni istanza rappresenta un pod e le istanze utilizzano tutte la stessa dimensione del pod. Non è possibile definire una dimensione del pod diversa per ogni istanza.

Potete modificare i dettagli di qualsiasi processo in qualsiasi momento, comprese le dimensioni del pod (scaling verticale) e il numero di pod in esecuzione simultaneamente (scaling orizzontale). Per saperne di più sulla modifica delle dimensioni dei pod e sulle altre opzioni di scaling, consultate la nostra guida su come scalare le risorse delle applicazioni.

Cliccate su Continua, controllate il riepilogo e il metodo di pagamento e poi cliccate su Conferma per terminare la creazione del nuovo processo.

Processo cron job

Un cron job permette di programmare un processo a intervalli specifici per la vostra applicazione. In questo modo potete automatizzare attività ripetitive come l’invio di report o l’esecuzione di attività di manutenzione secondo tempi prestabiliti, senza un pod in continua esecuzione.

Un processo cron job è simile a un background worker, ma si avvia solo in base alla tempistica configurata e si spegne al termine dell’operazione richiesta.

Aggiungere un processo cron job

Potete aggiungere un cron job quando aggiungete un’applicazione o in qualsiasi momento dalla sezione Processi. Sebbene non ci sia un limite al numero di processi cron job che potete aggiungere, ogni processo richiede almeno un pod per essere eseguito.

Per aggiungere un nuovo cron job, cliccate su Crea processo e compilate i campi come segue:

Creare un processo cron job.
Creare un processo cron job.
  • Nome: il nome del processo; ad esempio, Marketing email scheduler.
  • Tipo: scegliete Cron job.
  • Comando start: il comando necessario per avviare il processo, ad esempio npm run [processo].
  • Ripetizioni: scegliete la frequenza di esecuzione del processo (ogni minuto, ora, giorno, settimana, mese o anno). Quando si sceglie la frequenza di esecuzione del processo, si può scegliere un minuto, un’ora, un giorno, una data o un mese specifici, a seconda della prima selezione.
  • Dimensione del Pod: determinate la CPU e la RAM dedicate al processo.
  • Istanze: il numero di istanze necessarie, fino a un massimo di 50. Ogni istanza rappresenta un pod e le istanze utilizzano tutte la stessa dimensione del pod. Non potete definire una dimensione del pod diversa per ogni istanza.

Potete modificare i dettagli di qualsiasi processo in qualsiasi momento, comprese le dimensioni del pod (scaling verticale) e il numero di pod in esecuzione simultaneamente (scaling orizzontale). Per saperne di più sulla modifica delle dimensioni dei pod e sulle altre opzioni di scaling, consultate la nostra guida su come scalare le risorse delle applicazioni.

Cliccate su Continua, controllate il riepilogo e il metodo di pagamento e poi cliccate su Conferma per terminare la creazione del nuovo processo.

Definire i processi in un Procfile

I Procfile definiscono i processi dal codice della vostra applicazione e devono essere inseriti nel repository. Un Procfile contiene un processo per riga nel seguente formato:

process_name: command

Ad esempio, per eseguire un’applicazione Laravel, potreste utilizzare questo processo:

web: php artisan serve --host 0.0.0.0 --port 8080

Se state utilizzando un Procfile, dovrete definire un processo chiamato web per garantire che il contenitore soddisfi le richieste web.

Scalare le risorse dell’applicazione

Potete modificare la dimensione del pod di qualsiasi processo (scaling verticale) e cambiare il numero di pod eseguiti contemporaneamente (scaling orizzontale). Tutte le modifiche apportate, ad eccezione della modifica del nome, attivano automaticamente il processo di rollout dell’applicazione.

  • Lo scaling verticale è ottimo per dare ai pod più potenza per completare attività ad alta intensità di risorse.
  • Lo scaling orizzontale è ideale per la resilienza e il load balancing delle applicazioni che elaborano molte richieste. Ad esempio, potete eseguire tre versioni dello stesso pod. La tecnologia sottostante indirizza le richieste a uno dei tre pod, distribuendo di fatto il carico tra di essi. Se un pod diventa instabile, le richieste verranno indirizzate agli altri due fino a quando il terzo pod non sarà di nuovo sano.

Potete modificare i dettagli di qualsiasi processo, compresa la dimensione del Pod, in qualsiasi momento. Se la vostra applicazione è stateless (senza memoria persistente), potete attivare lo scaling orizzontale automatico per il processo web. Ciò vi permette di impostare un numero minimo e massimo di istanze (fino a 10) tra cui il processo può scalare in base alle necessità. Per saperne di più sulla modifica delle dimensioni dei pod e su altre opzioni di scalabilità, consultate la sezione sulla Scalabilità.

Aggiornare le risorse del processo di build

Per modificare le risorse utilizzate per il processo di build, cliccate su Aggiorna piano di build, scegliete le risorse di build necessarie e cliccate su Aggiorna build.

Questo articolo ti è stato utile?