W niektórych wdrożeniach, które robię dla App Service
zasób, który zawiera 2 gniazda (a production
i staging
slots), web-zadanie inscenizacji nie zatrzymuje się po wymianie gniazda.
W zasadzie u mnie w przenośniku są następujące zadania:
## 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
Jeśli idę szukać swojego gniazda, aplikacja zostanie zatrzymana. Ale czasem pracy zadanie będzie kontynuowane, podczas gdy ono nie powinno być wykonywane. tak jak u mnie jest zadanie, które musi przewodzić wszystkie ciągłe www zadania po wymianie z produkcją.
Podsumowując, można powiedzieć, że to może się zdarzyć:
- ciągłe wykonywanie stron-zadania w pośrednim miejscu
- ciągła stron-praca w procesie produkcji gniazd
Po poszukiwaniach znalazłem ten temat na github https://github.com/projectkudu/kudu/issues/1886 Oznacza to, że strony-zadania są wykonywane na miejscu scm, na który nie ma wpływu zespół zatrzymać stronę. Niemniej jednak, mam zadanie, które przypuszczalnie zatrzymuje wszystkie ciągłe www zadania.
Czy istnieje jakiś powód do tego? Jak możemy temu zapobiec? Nie chcę, aby witryny zadanie ze starym kodem wykonano po wdrożeniu.
WEBJOBS_STOPPED
jest to świetne rozwiązanie, stosowane do pośredniego gniazda. Z wdziękiem czy to zatrzymuje www zadanie, które zostało zastąpione?