Eseguire attività in background con Processi Web in Servizio app di AzureRun Background tasks with WebJobs in Azure App Service

PanoramicaOverview

Processi Web è una funzionalità di Servizio app di Azure che consente di eseguire un programma o uno script nello stesso contesto di un'app Web, un'app per le API o un'app per dispositivi mobili.WebJobs is a feature of Azure App Service that enables you to run a program or script in the same context as a web app, API app, or mobile app. Non sono previsti costi aggiuntivi per l'uso di Processi Web.There is no additional cost to use WebJobs.

Importante

Processi Web non è ancora supportato per il servizio App in Linux.WebJobs is not yet supported for App Service on Linux.

L'articolo descrive come distribuire Processi Web usando il portale di Azure per caricare un eseguibile o uno script.This article shows how to deploy WebJobs by using the Azure portal to upload an executable or script. Per informazioni su come sviluppare e distribuire processi Web usando Visual Studio, vedere Deploy WebJobs using Visual Studio (Distribuire processi Web usando Visual Studio).For information about how to develop and deploy WebJobs by using Visual Studio, see Deploy WebJobs using Visual Studio.

Azure WebJobs SDK può essere usato con Processi Web per semplificare diverse attività di programmazione.The Azure WebJobs SDK can be used with WebJobs to simplify many programming tasks. Per ulteriori informazioni, vedere Definizione dell'SDK di Processi Web.For more information, see What is the WebJobs SDK.

Funzioni di Azure consente di eseguire programmi e script in un altro modo.Azure Functions provides another way to run programs and scripts. Per un confronto tra Processi Web e Funzioni, vedere Scegliere tra Flow, App per la logica, Funzioni e Processi Web.For a comparison between WebJobs and Functions, see Choose between Flow, Logic Apps, Functions, and WebJobs.

Tipi di processi WebWebJob types

La tabella seguente descrive le differenze tra processi Web continui e attivati.The following table describes the differences between continuous and triggered WebJobs.

ContinuoContinuous AttivatiTriggered
Viene avviato immediatamente quando il processo Web viene creato.Starts immediately when the WebJob is created. Per evitare che il processo termini, il programma o lo script in genere opera in un ciclo infinito.To keep the job from ending, the program or script typically does its work inside an endless loop. Se il processo termina, è possibile riavviarlo.If the job does end, you can restart it. Viene avviato solo se attivato manualmente o in base a una pianificazione.Starts only when triggered manually or on a schedule.
Viene eseguito in tutte le istanze in cui viene eseguita l'app Web.Runs on all instances that the web app runs on. È facoltativamente possibile limitare il processo Web a una sola istanza.You can optionally restrict the WebJob to a single instance. Viene eseguito in una singola istanza selezionata da Azure per il bilanciamento del carico.Runs on a single instance that Azure selects for load balancing.
Supporta il debug remoto.Supports remote debugging. Non supporta il debug remoto.Doesn't support remote debugging.

Nota

Un'app Web può raggiungere il timeout dopo 20 minuti di inattività.A web app can time out after 20 minutes of inactivity. Solo le richieste all'app Web effettiva comportano la reimpostazione del timer.Only requests to the actual web app reset the timer. La visualizzazione della configurazione dell'app nel portale di Azure o l'esecuzione di richieste al sito degli strumentihttps://<app_name>.scm.azurewebsites.netavanzati () non reimposta il timer.Viewing the app's configuration in the Azure portal or making requests to the advanced tools site (https://<app_name>.scm.azurewebsites.net) don't reset the timer. Se l'app esegue processi Web continui o pianificati (trigger timer), abilitare Always on per assicurarsi che i processi Web vengano eseguiti in modo affidabile.If your app runs continuous or scheduled (Timer trigger) WebJobs, enable Always On to ensure that the WebJobs run reliably. Questa funzionalità è disponibile solo nei piani tariffari Basic, Standard e Premium.This feature is available only in the Basic, Standard, and Premium pricing tiers.

Tipi di file supportati per script e programmiSupported file types for scripts or programs

Sono supportati i tipi di file seguenti:The following file types are supported:

  • .cmd, .bat, .exe (prompt dei comandi di Windows).cmd, .bat, .exe (using Windows cmd)
  • .ps1 (PowerShell).ps1 (using PowerShell)
  • .sh (Bash).sh (using Bash)
  • .php (PHP).php (using PHP)
  • .py (Python).py (using Python)
  • .js (Node.js).js (using Node.js)
  • .jar (Java).jar (using Java)

Creare un processo Web continuoCreate a continuous WebJob

  1. Nel portale di Azure andare alla pagina Servizio app dell'app Web del servizio app, dell'app per le API o dell'app per dispositivi mobili.In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

  2. Selezionare Processi Web.Select WebJobs.

    Selezionare Processi Web

  3. Nella pagina Processi Web selezionare Aggiungi.In the WebJobs page, select Add.

    Pagina Processi Web

  4. Usare le impostazioni di Aggiungi processo Web specificate nella tabella.Use the Add WebJob settings as specified in the table.

    Pagina Aggiungi processo Web

    ImpostazioneSetting Valore di esempioSample value DescrizioneDescription  
    Nome Name  myContinuousWebJobmyContinuousWebJob Nome univoco nell'app del servizio app.A name that is unique within an App Service app. Deve iniziare con una lettera o un numero e non può contenere caratteri speciali diversi da "-" e "".Must start with a letter or a number and cannot contain special characters other than "-" and "".
    Caricamento file File Upload  ConsoleApp.zipConsoleApp.zip File ZIP che contiene il file eseguibile o il file di script e gli eventuali file di supporto necessari per eseguire il programma o lo script.A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. I tipi di file di script o eseguibili supportati sono elencati nella sezione Tipi di file supportati.The supported executable or script file types are listed in the Supported file types section.
    Tipo Type  ContinuoContinuous I tipi di processi Web sono descritti più indietro in questo articolo.The WebJob types are described earlier in this article.
    RidimensionareScale Istanze multipleMulti instance Disponibile solo per i processi Web continui.Available only for Continuous WebJobs. Determina se il programma o lo script viene eseguito in tutte le istanze o in una sola istanza.Determines whether the program or script runs on all instances or just one instance. L'opzione per l'esecuzione in più istanze non si applica ai piani tariffari Gratuito o Condiviso.The option to run on multiple instances doesn't apply to the Free or Shared pricing tiers.
  5. Fare clic su OK.Click OK.

    Il nuovo processo Web viene visualizzato nella pagina Processi Web.The new WebJob appears on the WebJobs page.

    Elenco dei processi Web

  6. Per arrestare o riavviare un processo Web continuo, fare clic con il pulsante destro del mouse sul processo Web nell'elenco e scegliere Arresta o Avvia.To stop or restart a continuous WebJob, right-click the WebJob in the list and click Stop or Start.

    Arrestare un processo Web continuo

Creare un processo Web attivato manualmenteCreate a manually triggered WebJob

  1. Nel portale di Azure andare alla pagina Servizio app dell'app Web del servizio app, dell'app per le API o dell'app per dispositivi mobili.In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

  2. Selezionare Processi Web.Select WebJobs.

    Selezionare Processi Web

  3. Nella pagina Processi Web selezionare Aggiungi.In the WebJobs page, select Add.

    Pagina Processi Web

  4. Usare le impostazioni di Aggiungi processo Web specificate nella tabella.Use the Add WebJob settings as specified in the table.

    Pagina Aggiungi processo Web

    ImpostazioneSetting Valore di esempioSample value DESCRIZIONEDescription  
    Nome Name  myTriggeredWebJobmyTriggeredWebJob Nome univoco nell'app del servizio app.A name that is unique within an App Service app. Deve iniziare con una lettera o un numero e non può contenere caratteri speciali diversi da "-" e "".Must start with a letter or a number and cannot contain special characters other than "-" and "".
    Caricamento file File Upload  ConsoleApp.zipConsoleApp.zip File ZIP che contiene il file eseguibile o il file di script e gli eventuali file di supporto necessari per eseguire il programma o lo script.A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. I tipi di file di script o eseguibili supportati sono elencati nella sezione Tipi di file supportati.The supported executable or script file types are listed in the Supported file types section.
    Tipo Type  AttivatiTriggered I tipi di processi Web sono descritti più indietro in questo articolo.The WebJob types are described earlier in this article.
    Trigger Triggers  ManualeManual
  5. Fare clic su OK.Click OK.

    Il nuovo processo Web viene visualizzato nella pagina Processi Web.The new WebJob appears on the WebJobs page.

    Elenco dei processi Web

  6. Per eseguire il processo Web, fare clic con il pulsante destro del mouse sul nome visualizzato nell'elenco e scegliere Esegui.To run the WebJob, right-click its name in the list and click Run.

    Esegui processo Web

Creare un processo Web pianificatoCreate a scheduled WebJob

  1. Nel portale di Azure andare alla pagina Servizio app dell'app Web del servizio app, dell'app per le API o dell'app per dispositivi mobili.In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

  2. Selezionare Processi Web.Select WebJobs.

    Selezionare Processi Web

  3. Nella pagina Processi Web selezionare Aggiungi.In the WebJobs page, select Add.

    Pagina Processi Web

  4. Usare le impostazioni di Aggiungi processo Web specificate nella tabella.Use the Add WebJob settings as specified in the table.

    Pagina Aggiungi processo Web

    ImpostazioneSetting Valore di esempioSample value DESCRIZIONEDescription  
    Nome Name  myScheduledWebJobmyScheduledWebJob Nome univoco nell'app del servizio app.A name that is unique within an App Service app. Deve iniziare con una lettera o un numero e non può contenere caratteri speciali diversi da "-" e "".Must start with a letter or a number and cannot contain special characters other than "-" and "".
    Caricamento file File Upload  ConsoleApp.zipConsoleApp.zip File ZIP che contiene il file eseguibile o il file di script e gli eventuali file di supporto necessari per eseguire il programma o lo script.A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. I tipi di file di script o eseguibili supportati sono elencati nella sezione Tipi di file supportati.The supported executable or script file types are listed in the Supported file types section.
    Tipo Type  AttivatiTriggered I tipi di processi Web sono descritti più indietro in questo articolo.The WebJob types are described earlier in this article.
    Trigger Triggers  PianificataScheduled Per il corretto funzionamento della pianificazione, abilitare la funzionalità Sempre online.For the scheduling to work reliably, enable the Always On feature. Sempre online è disponibile solo nei piani tariffari Basic, Standard e Premium.Always On is available only in the Basic, Standard, and Premium pricing tiers.
    Espressione CRON CRON Expression  0 0/20 * * * *0 0/20 * * * * Le espressioni CRON vengono descritte nella sezione seguente.CRON expressions are described in the following section.
  5. Fare clic su OK.Click OK.

    Il nuovo processo Web viene visualizzato nella pagina Processi Web.The new WebJob appears on the WebJobs page.

    Elenco dei processi Web

Espressioni NCRONTABNCRONTAB expressions

È possibile immettere un' espressione NCRONRAB nel portale o includere un settings.job file nella radice del file processo Web . zip , come nell'esempio seguente:You can enter a NCRONRAB expression in the portal or include a settings.job file at the root of your WebJob .zip file, as in the following example:

{
    "schedule": "0 */15 * * * *"
}

Per altre informazioni, vedere pianificazione di un processo Web attivato.To learn more, see Scheduling a triggered WebJob.

Visualizzare la cronologia processoView the job history

  1. Selezionare il processo Web di cui si vuole visualizzare la cronologia e quindi selezionare il pulsante Log.Select the WebJob you want to see history for, and then select the Logs button.

    Pulsante Log

  2. Nella pagina WebJob Details (Dettagli processo Web) selezionare un'ora per visualizzare i dettagli di un'esecuzione.In the WebJob Details page, select a time to see details for one run.

    Dettagli del processo Web

  3. Nella pagina WebJob Run Details (Dettagli esecuzione processo Web) selezionare Toggle Output (Attiva/Disattiva output) per visualizzare il testo dei contenuti del log.In the WebJob Run Details page, select Toggle Output to see the text of the log contents.

    Dettagli dell'esecuzione del processo Web

    Per visualizzare il testo dell'output in una finestra del browser separata, selezionare download.To see the output text in a separate browser window, select download. Per scaricare il testo stesso, fare clic con il pulsante destro del mouse su download e usare le opzioni del browser in uso per salvare il contenuto del file.To download the text itself, right-click download and use your browser options to save the file contents.

  4. Selezionare il collegamento del percorso Processi Web nella parte superiore della pagina per passare a un elenco di processi Web.Select the WebJobs breadcrumb link at the top of the page to go to a list of WebJobs.

    Percorso Processi Web

    Elenco dei processi nel dashboard della cronologia

Passaggi successiviNext steps

Azure WebJobs SDK può essere usato con Processi Web per semplificare diverse attività di programmazione.The Azure WebJobs SDK can be used with WebJobs to simplify many programming tasks. Per ulteriori informazioni, vedere Definizione dell'SDK di Processi Web.For more information, see What is the WebJobs SDK.