Dans certains déploie, je suis en train de faire à un App Service
ressource qui contient 2 slots (un production
et staging
slots), le webjob de la mise en scène ne s'arrête pas après l'échange de logements.
En gros je l'ai dans mon pipeline les tâches suivantes:
## 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
Si je vais chercher de mon logement en scène dans le service d'application est arrêtée. Mais parfois, le workjob continue de fonctionner alors qu'il ne devrait pas. depuis que j'ai une tâche qui devrait couronner le tout continue webjobs après l'échange avec la production.
En résumé de ce qui peut arriver:
- continue webjob dans le logement mise en scène de course
- continue webjob dans la fente de la production de course
Après recherche j'ai trouvé ce fil github https://github.com/projectkudu/kudu/issues/1886 Il indique que webjobs sont en cours d'exécution du gestionnaire de site qui n'est pas affecté par le site d'arrêt de commande. Pourtant, j'ai une tâche qui soi-disant s'arrête tout continu webjobs.
Est-il une raison pour que cela arrive? Comment pouvons-nous faire pour éviter cela? Je ne veux pas d'un webjob avec l'ancien code en cours d'exécution après un déploiement.
WEBJOBS_STOPPED
est une excellente solution appliquée à la mise en scène de fente. Est-il arrêter le webjob qui a été échangé?