In alcuni distribuisce sto facendo per un App Service
risorsa che contiene 2 slot (un production
e staging
slot machine), il webjob di messa in scena non si ferma dopo lo scambio di slot.
Fondamentalmente ho nella mia pipeline i seguenti compiti:
## Start App Service (staging)
- task: AzureAppServiceManage@0
displayName: 'Start Azure App Service: some-app-webjob (staging)'
inputs:
azureSubscription: 'xxx'
Action: 'Start Azure App Service'
WebAppName: 'some-app-webjob'
SpecifySlotOrASE: true
ResourceGroupName: 'some-rg-app-webjob'
Slot: staging
##Start staging continuous webjob
- task: AzureAppServiceManage@0
displayName: 'Start all continuous webjobs: some-app-webjob (staging)'
inputs:
azureSubscription: 'Subscrição do Visual Studio Enterprise(c9f20c2b-15cf-41fb-8122-ddf095c6db02)'
Action: 'Start all continuous webjobs'
WebAppName: 'some-app-webjob'
SpecifySlotOrASE: true
ResourceGroupName: 'some-rg-app-webjob'
Slot: 'staging'
## Swap Slots (staging to production)
- task: AzureAppServiceManage@0
displayName: 'Swap Slots: some-app-webjob'
inputs:
azureSubscription: 'xxx'
WebAppName: 'some-app-webjob'
ResourceGroupName: 'some-rg-app-webjob'
SourceSlot: staging
TargetSlot: production
# Stop WebJobs running Staging
- task: AzureAppServiceManage@0
displayName: 'Stop all continuous webjobs: some-app-webjob (staging)'
inputs:
azureSubscription: 'xxx'
Action: 'Stop all continuous webjobs'
WebAppName: 'some-app-webjob'
SpecifySlotOrASE: true
ResourceGroupName: 'some-rg-app-webjob'
Slot: staging
## Stop App Service (staging)
- task: AzureAppServiceManage@0
displayName: 'Stop Azure App Service: some-app-webjob (staging)'
inputs:
azureSubscription: 'xxx'
Action: 'Stop Azure App Service'
WebAppName: 'some-app-webjob'
SpecifySlotOrASE: true
ResourceGroupName: 'some-rg-app-webjob'
Slot: staging
Se vado a guardare il mio slot per la gestione temporanea del servizio di app è stato arrestato. Ma a volte il workjob continua a funzionare mentre non dovrebbe essere così. dato che ho un compito che dovrebbe completare il tutto continua webjobs dopo lo scambio con la produzione.
Nel riassumere questo può accadere:
- continua webjob in slot di gestione temporanea in esecuzione
- continua webjob in slot di produzione in esecuzione
Dopo una ricerca ho trovato questo thread github https://github.com/projectkudu/kudu/issues/1886 Indica che webjobs sono in esecuzione in scm sito che non è interessato dal sito di comando. Ancora, ho un compito che presumibilmente si ferma tutto continua webjobs.
C'è qualche motivo perché questo accada? Come possiamo prevenire questo? Io non voglio una webjob con il vecchio codice, dopo l'esecuzione di una distribuzione.
WEBJOBS_STOPPED
è una grande soluzione applicata alla gestione temporanea slot. Lo fa con grazia interrompere il webjob che è stata scambiata?